指定CMAKE_LIBRARY_PATH交叉编译的cmake

时间:2018-07-26 15:19:47

标签: c cmake cross-compiling yocto

我将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下安装所需的库?

谢谢

0 个答案:

没有答案