使用 CMake GUI 设置交叉编译器文件

Setting a cross-compiler file using the CMake GUI

我正在尝试使用 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 中显示了变量,但是当我按下 "Configure" 按钮时,出现在 CMAKE_CXX_COMPILER 变量中的 c++ 编译器是默认的,而不是在工具链文件。

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

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

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

尽管我不确定您能否在第一个 运行 之后更改这些设置。

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

终于明白了。很简单。

第一次按下 "Configure" 按钮时,您将指定生成器参数,select 您项目的任何生成器。然后select选项"Specify toolchain file for cross-compiling"点击下一步:

:

单击“下一步”。在下面的对话框中,输入交叉编译文件的路径就大功告成了。