我将CMake与使用yocto构建的自定义工具链一起使用。我的项目包括一些库和一些需要与这些库链接的二进制文件。
在二进制文件的CMakeLists
文件中,有将它们链接到库的指令,例如
FIND_LIBRARY(mylib NAMES mylib libmylib )
建立mylib
之后,我将其放置在一个公用目录中,例如/home/user/common/lib/mylib.so
。
然后,我尝试使用来构建二进制文件
$ source /opt/poky-2.2.2/<path-to-environment-yocto-generated-file>
$ CMAKE_LIBRARY_PATH=/home/user/common/lib/ cmake
cmake抱怨找不到mylib
。我发现它找不到它,因为它正在sysroot文件夹下寻找/home/user/common/lib/
。
然后,我尝试设置CMAKE_FIND_ROOT_PATH_MODE_LIBRARY=BOTH
失败。
我还尝试再次设置CMAKE_INSTALL_PREFIX=$SDKTARGETSYSROOT
,但没有成功(make install
命令将库复制到/usr/lib
中,而不是sysroot文件夹下。)
我该如何解决?最佳做法是?在sysroots下安装所需的库?
谢谢