项目未使用CMAKE_TOOLCHAIN_FILE

ple*_*ock 45 build-process makefile build cmake

构建一个第三方脚本时,Cmake会发出此警告:

CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_TOOLCHAIN_FILE
Run Code Online (Sandbox Code Playgroud)

有什么共同的建议我需要检查什么或如何解决这个问题?

Gui*_*ume 46

这是标准警告,当您给它一个不使用它的命令行选项时.-DFOO=bar当CMakeLists.txt不使用FOO变量时,这就是给cmake.

现在,这是一个特殊情况:CMake在您第一次配置构建时使用CMAKE_TOOLCHAIN_FILE,但由于您无法更改已配置构建的工具链,因此每隔一段时间就会忽略它,因此警告.

正如@Answeror所说,你可以放心地忽略这个警告,但如果它真的打扰你,你可以通过给--no-warn-unused-clicmake 隐藏它.

  • 我最终用`rm -rf CMakeCache.txt CMakeFiles /`删除了cmake文件. (28认同)

Rol*_*zin 10

Guillaume 的回答已经解释了您收到此特定未使用变量警告的原因。

绕过警告的一种简单而有用的方法(无需删除第一次调用 CMake 生成的临时文件)是在状态消息中使用该变量。例如:

MESSAGE(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
Run Code Online (Sandbox Code Playgroud)


Mar*_*ata 6

如果在设置 选项使用CLion收到此消息,则-DCMAKE_TOOLCHAIN_FILE=xxx需要删除所有CMake构建目录.

Tools-> CMake -> Show Generated CMake Files in File Manager
Run Code Online (Sandbox Code Playgroud)

然后删除所有构建目录.然后做

Tools-> CMake -> Reload the CMake Project
Run Code Online (Sandbox Code Playgroud)

一旦你这样做,你仍然会收到警告,但至少会在第一次运行cmake时观察到.