CMake:无法打开头文件
CMake: Header files cannot be opened
我正在使用 cmake 构建一个 Code Composer Studio 项目,这对我来说是新的。它在 Linux 下成功构建,但我正在努力让它在 Windows 下工作。 cmake
命令执行没有问题,但 make
在第一个 #include
的第一个 C 对象期间失败,错误代码为
fatal error: could not open source file "stdbool.h" (no directories in search list)
我正在使用 CCS 编译器 (c6000_7.4.15) 中包含的库,整个文件夹包含在 CSS 项目中。我也将它包含在 cmake 中。在我的 .cmake 文件中:
set (CCS_ROOT ${CCS_ROOT_V6_WIN} CACHE PATH "code composer install directory")
set(CGT_COMPILER_ROOT ${CCS_ROOT}/tools/compiler/c6000_7.4.15 CACHE INTERNAL "DSP Compiler Root")`
并且在 CMakeLists.txt 文件中:
set (COMPILER_INCLUDE ${CGT_COMPILER_ROOT}/include)
INCLUDE_DIRECTORIES ("${COMPILER_INCLUDE}")
为什么在项目中链接头文件打不开,CMake能找到呢?
编辑:我下面的目录结构已经改变,所以我借此机会将所有外部文件直接添加到项目中,使其完全独立于平台。这样,由于该项目由我们的 Git 存储库管理,用户无需安装 CSL 或任何其他程序即可构建该项目。这也意味着库和头文件的路径永远不会在修订版和环境之间改变。
很遗憾,这并没有解决我的问题。该项目继续在 Linux 中构建,但未能找到第一个包含的头文件。我还注意到,在 Windows 下,它找不到我自己的头文件,除非我提供相对路径,例如#include "../Common.h"
如果我提供编译器目录的绝对路径,我可以让 make
找到 stdbool.h
,但这会暴露文件之间的其他断开链接的网络。
附带说明一下,该项目在 Code Composer Studio 中成功构建,因此我假设这不是我的特定 Windows 环境或项目本身代码的问题。
这似乎是 gcc.exe
的问题。我在我的构建脚本中将环境变量 CC
设置为不同编译器(在我的例子中是 TI 编译器)的路径,这解决了问题。
我正在使用 cmake 构建一个 Code Composer Studio 项目,这对我来说是新的。它在 Linux 下成功构建,但我正在努力让它在 Windows 下工作。 cmake
命令执行没有问题,但 make
在第一个 #include
的第一个 C 对象期间失败,错误代码为
fatal error: could not open source file "stdbool.h" (no directories in search list)
我正在使用 CCS 编译器 (c6000_7.4.15) 中包含的库,整个文件夹包含在 CSS 项目中。我也将它包含在 cmake 中。在我的 .cmake 文件中:
set (CCS_ROOT ${CCS_ROOT_V6_WIN} CACHE PATH "code composer install directory")
set(CGT_COMPILER_ROOT ${CCS_ROOT}/tools/compiler/c6000_7.4.15 CACHE INTERNAL "DSP Compiler Root")`
并且在 CMakeLists.txt 文件中:
set (COMPILER_INCLUDE ${CGT_COMPILER_ROOT}/include)
INCLUDE_DIRECTORIES ("${COMPILER_INCLUDE}")
为什么在项目中链接头文件打不开,CMake能找到呢?
编辑:我下面的目录结构已经改变,所以我借此机会将所有外部文件直接添加到项目中,使其完全独立于平台。这样,由于该项目由我们的 Git 存储库管理,用户无需安装 CSL 或任何其他程序即可构建该项目。这也意味着库和头文件的路径永远不会在修订版和环境之间改变。
很遗憾,这并没有解决我的问题。该项目继续在 Linux 中构建,但未能找到第一个包含的头文件。我还注意到,在 Windows 下,它找不到我自己的头文件,除非我提供相对路径,例如#include "../Common.h"
如果我提供编译器目录的绝对路径,我可以让 make
找到 stdbool.h
,但这会暴露文件之间的其他断开链接的网络。
附带说明一下,该项目在 Code Composer Studio 中成功构建,因此我假设这不是我的特定 Windows 环境或项目本身代码的问题。
这似乎是 gcc.exe
的问题。我在我的构建脚本中将环境变量 CC
设置为不同编译器(在我的例子中是 TI 编译器)的路径,这解决了问题。