由于无关紧要的原因,我希望能够将多个文件包括在工具链文件中。假设我的工具链包含以下:

message(STATUS "file1 is ok")
include(./build/file2)

File2包含标识行:

message(STATUS "file2 is ok")

cmakelists.txt包含:

cmake_minimum_required (VERSION 2.8.8)
project (pro)
message(STATUS "cmakelists.txt is ok")

我使用以下命令称其为:

cmake -DCMAKE_TOOLCHAIN_FILE=../../build/file1 ../../

现在,我希望以下输出:

-- file1 is ok
-- file2 is ok
-- cmakelists.txt is ok

但是我明白了:

-- file1 is ok
-- file2 is ok
-- file1 is ok
-- file2 is ok
-- The C compiler identification is Clang 5.0.0
-- The CXX compiler identification is Clang 5.0.0
-- Check for working C compiler: /usr/bin/cc
CMake Error at /fullpath/build/file1:2 (include):
  include could not find load file:
    ./build/file2
Call Stack (most recent call first):
  /fullpath/build/Mac/CMakeFiles/2.8.12/CMakeSystem.cmake:6 (include)
  CMakeLists.txt:2 (PROJECT)
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /Applications/CMake 2.8-12.app/Contents/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "/usr/bin/cc" is not able to compile a simple test program.
  It fails with the following output:
  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)
-- Configuring incomplete, errors occurred!

Cmake不仅两次打印信息,还声称在此之后第三次找不到文件。

有任何想法吗?

有帮助吗?

解决方案

不仅cmake打印两次信息

这是正常的:在配置期间,执行了几个步骤。在每个步骤上,工具链文件使用的文件。

它还声称它在此之后的第三次找不到包含的文件。有任何想法吗?

提供绝对路径。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top