5

我正在尝试使用 CMake 设置我的交叉编译版本。到目前为止,我正在从命令行设置像这样调用 CMake 的交叉编译器文件:

#Call cmake with the given options
cmake -D CMAKE_TOOLCHAIN_FILE=$cross_cmp_file \
      -D BUILD_TESTS:BOOLEAN=$build_test \
      ../src 

这工作得很好。

现在我正在尝试通过添加以下内容从 GUI 设置 CMAKE_TOOLCHAIN_FILE 变量:

#CMAKE cross compiler file
set(CMAKE_TOOLCHAIN_FILE "Toolchain file" CACHE FILEPATH "../arm-crosscompile.cmake")

到我的 CMakeLists.txt。

这实际上在 GUI 中显示了变量,但是当我按下“配置”按钮时,出现在 CMAKE_CXX_COMPILER 变量中的 c++ 编译器是默认的编译器,而不是工具链文件中指定的编译器。

如何从 Cmake-GUI 设置工具链文件?

4

2 回答 2

17

终于明白了。很简单。

第一次按下“配置”按钮时,您将指定生成器参数,为您的项目选择任何生成器。然后选择“指定交叉编译的工具链文件”选项并单击下一步:

指定交叉编译的工具链文件

点击下一步。在下面的对话框中,输入交叉编译文件的路径就完成了。

于 2015-05-10T12:54:38.003 回答
3

您是在调用之前还是之后设置变量project()

编译器检测发生在该调用内部,因此必须在到达那里之前对其进行设置。

虽然我不确定您是否能够在第一次运行后更改这些设置。

通常,您会在第一次使用向导样式对话框运行 Cmake 时设置工具链。

于 2015-05-01T06:28:03.270 回答