首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在linux中集成vcpkg与交叉构建工具链以及sysroot?

如何在linux中集成vcpkg与交叉构建工具链以及sysroot?
EN

Stack Overflow用户
提问于 2019-11-09 09:02:13
回答 1查看 3.5K关注 0票数 5

我的问题是,如何在linux中集成vcpkg与交叉构建工具链以及sysroot?示例:

  • 生成机是fedora30
  • 交叉构建工具链是x86_64-centos7-gnu

来自https://github.com/microsoft/vcpkg的快速启动说:

代码语言:javascript
运行
复制
> git clone https://github.com/Microsoft/vcpkg.git
> cd vcpkg

PS> .\bootstrap-vcpkg.bat
Linux:~/$ ./bootstrap-vcpkg.sh

在我的机器上安装了gcc 9.1,由vcpkg的bootstrap.sh检测到,工作正常;

同时,我构建了一个用于交叉构建的工具链,它位于$HOME/cross/x64_86-centos7-linux-gnu/中。

我如何设置另一个vcpkg dir树,它使用该perticular工具链?

所谓“使用”,我指的是vcpkg及其所有包应该由该工具链编译,而我使用vcpkg的toolchain_file toolchain_file的项目都应该将该工具链作为$CC和构建工具集?

EN

回答 1

Stack Overflow用户

发布于 2019-12-06 09:59:52

您应该编写一个引用所需工具链的三重奏文件。创建一个包含内容的文件${VCPKG_ROOT}/triplets/x64-centos7

代码语言:javascript
运行
复制
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)

set(VCPKG_CMAKE_SYSTEM_NAME Linux)

set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE /your/cmake/toolchain.cmake)

/your/cmake/toolchain.cmakeCMake工具链一样

代码语言:javascript
运行
复制
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR x64)

set(CMAKE_SYSROOT /your/sysroot)

set(tools $HOME/cross/x64_86-centos7-linux-gnu/)
set(CMAKE_C_COMPILER ${tools}/bin/your-gcc)
set(CMAKE_CXX_COMPILER ${tools}/bin/your-g++)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58777810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档