CMake pkg_check_modules 不搜索 CMAKE_PREFIX_PATH
CMake pkg_check_modules does not search the CMAKE_PREFIX_PATH
我正在尝试编译一个使用 CMake
和 pkg_check_modules
的项目,但我无法通过 pkg_check_modules
找到位于 CMAKE_PREFIX_PATH
.
下的库
我相信以下示例重现了该问题:
如果我有 libtest.so
位于 /home/user/test/lib
,那么给定 CMakeLists.txt
:
include(FindPkgConfig)
pkg_check_modules(
TEST
REQUIRED
libtest
)
...和 运行 它与:
cmake -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DCMAKE_PREFIX_PATH=/home/user/test .
...导致错误:
No package 'libtest' found
我还针对 strace -v -f
尝试了 运行,其中确实包括对 /home/user/test/lib/pkgconfig
的 access
尝试,但对 libtest
.[=26 没有任何记录=]
我正在使用 Ubuntu 16.04 和 CMake 3.5.1
宏 pkg_check_modules
是 pkg-config 实用程序的包装器,它搜索 .pc
文件并读取它。错误
No package 'libtest' found
表示你没有.pc
对应的包,或者CMake找不到那个文件。
我正在尝试编译一个使用 CMake
和 pkg_check_modules
的项目,但我无法通过 pkg_check_modules
找到位于 CMAKE_PREFIX_PATH
.
我相信以下示例重现了该问题:
如果我有 libtest.so
位于 /home/user/test/lib
,那么给定 CMakeLists.txt
:
include(FindPkgConfig)
pkg_check_modules(
TEST
REQUIRED
libtest
)
...和 运行 它与:
cmake -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DCMAKE_PREFIX_PATH=/home/user/test .
...导致错误:
No package 'libtest' found
我还针对 strace -v -f
尝试了 运行,其中确实包括对 /home/user/test/lib/pkgconfig
的 access
尝试,但对 libtest
.[=26 没有任何记录=]
我正在使用 Ubuntu 16.04 和 CMake 3.5.1
宏 pkg_check_modules
是 pkg-config 实用程序的包装器,它搜索 .pc
文件并读取它。错误
No package 'libtest' found
表示你没有.pc
对应的包,或者CMake找不到那个文件。