我只是不想每次需要库时都设置环境变量,更不用说搜索的路径根本不标准化(至少在 Windows 上)。一般来说,Find*.cmake 不会指定任何与 Windows 相关的位置。
有没有某种方法可以使 CMake 搜索指定目录(强制配置错误的 Find*.cmake 搜索否则不会在系统级别设置的路径)?假设我希望它在 Windows 上搜索“C:\”或只是“/”?这样我就可以将所有库放在“C:\”中。
您可以尝试将路径附加到CMAKE_PREFIX_PATH在您的项目 CMakeLists.txt 中,如下所示:
list(APPEND CMAKE_PREFIX_PATH "/tmp/test" "/another/library/path")
根据文档,它会将“/lib”附加到列表中每个路径的末尾并在那里搜索库,但通过一些快速测试,如果它直接位于您指定的路径中,似乎 cmake 应该可以找到合适的东西。例如,如果我有/tmp/test/libtest.so
并添加上面的行,我可以像这样找到它:
find_library(libtest_LIBRARY test)
运行 cmake 应设置缓存变量libtest_LIBRARY
与正确的道路。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)