Geo*_* P. 8 sdk cmake toolchain yocto
我提供了一个Yocto SDK来为嵌入式目标交叉构建应用程序.应用程序本身是使用CMake构建的.SDK安装脚本提供了许多必要的环境变量(如交叉编译器的位置,sysroot等),到目前为止,它足以构建应用程序.
但是,最近应用程序依赖于Boost库(通过find_package(Boost REQUIRED)CMakeLists.txt中的命令).现在,CMake抱怨它无法找到库,即使它已安装在SDK sysroot中.但是,如果我直接在Yocto中构建应用程序,它可以正常工作.
经过一些研究后发现,Yocto生成了一个toolchain.cmake添加到cmake调用的文件.在此文件中,CMAKE_FIND_ROOT_PATH设置了变量,CMake需要查找库.使用这样的工具链文件,我也可以使用SDK构建.
现在我想知道Yocto是否提供了使用SDK导出这样一个工具链文件的任何机制.或者,如果SDK提供了一个脚本或其他东西,可以直接在SDK构建主机上自动创建工具链文件.
或者我应该告诉SDK的用户手动创建工具链文件并将其添加到他们的cmake调用?
And*_*ers 11
假设您正在使用基于图像的SDK,即构建它bitbake <image> -c populate_sdk,添加以下内容image.bb应该修复它:
TOOLCHAIN_HOST_TASK += "nativesdk-cmake"
Run Code Online (Sandbox Code Playgroud)
这应该会OEToolchainConfig.cmake在SDK中提供一个文件.在获取SDK环境文件之后,cmake将成为cmake -DCMAKE_TOOLCHAIN_FILE=$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake进一步帮助您的开发人员的别名.
| 归档时间: |
|
| 查看次数: |
6436 次 |
| 最近记录: |