c – 需要帮助,使Cmake找到第三方库

c – 需要帮助,使Cmake找到第三方库,第1张

概述我目前有一个链接到两个第三方图书馆的项目.这些图书馆必须自己建立,然后与项目相关联.一个是taglib,另一个是zlib.我注意到,当您在taglib目录中使用Cmake-gui程序时,您需要指定zlib的构建和安装位置. 我的目标是让CMake为我的程序做一个类似的事情.由于存储这些库的位置将不一致如何提示用户提供所需库的路径? 我希望这足够具体. 在ZLib的情况下,一个FindZLIB.cm 我目前有一个链接到两个第三方图书馆的项目.这些图书馆必须自己建立,然后与项目相关联.一个是taglib,另一个是zlib.我注意到,当您在taglib目录中使用Cmake-gui程序时,您需要指定zlib的构建和安装位置.

我的目标是让CMake为我的程序做一个类似的事情.由于存储这些库的位置将不一致如何提示用户提供所需库的路径?

我希望这足够具体.

解决方法 在Zlib的情况下,一个FindZliB.cmake与CMake一起提供,您可以“简单地”将一个 find_package调用放在你的cmakeLists中.如果需要,您可以对findzlib.cmake进行一些修改,以满足您的需要.例如.在搜索库时,添加ZliB_DIR作为附加提示.然后可以由用户设置此ZliB_DIR.

假设您的库/可执行文件称为YourProject,您可以使用它,如下所示.

find_package( ZliB required )if ( ZliB_FOUND )    include_directorIEs( ${ZliB_INCLUDE_Dirs} )    target_link_librarIEs( YourProject ${ZliB_liBRARIES} )endif( ZliB_FOUND )

您应该使用与Taglib相同的方法,而应该编写自己的FindTaglib.cmake(或搜索一个好的).

这里的重要部分是您可以向用户提供设置Taglib_DIR变量的选项,该变量用于搜索Taglib,并使用FindPackageHandleStandardArgs报告成功或失败.

总结

以上是内存溢出为你收集整理的c – 需要帮助,使Cmake找到第三方库全部内容,希望文章能够帮你解决c – 需要帮助,使Cmake找到第三方库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1256548.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存