CLion 找不到 CMake 生成的标头?
CLion can't find CMake generated headers?
浏览CMake教程:
├── CMakeLists.txt
├── src
│ └── main.cpp
└── templates
└── fooConf.h.in
CMakeLists.txt
cmake_minimum_required(VERSION 3.2)
project(foo)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(PROJECT_SOURCE_DIR src)
set(PROJECT_TEMPLATE_DIR templates)
set(SOURCE_FILES ${PROJECT_SOURCE_DIR}/main.cpp)
set(${PROJECT_NAME}_MAJOR 0)
set(${PROJECT_NAME}_MINOR 1)
set(${PROJECT_NAME}_MICRO 1)
configure_file (
"${PROJECT_TEMPLATE_DIR}/fooConf.h.in"
"${PROJECT_SOURCE_DIR}/fooConf.h"
)
add_executable(foo ${SOURCE_FILES})
模板/fooConf.h.in
#define @PROJECT_NAME@_VERSION_MAJOR @PROJECT_NAME@@_VERSION_MAJOR@
#define @PROJECT_NAME@_VERSION_MINOR @PROJECT_NAME@@_VERSION_MINOR@
#define @PROJECT_NAME@_VERSION_MICRO @PROJECT_NAME@@_VERSION_MICRO@
src/main.cpp
#include <iostream>
#include "src/fooConf.h"
// Also tried: "fooConf.h"
int main() {
std::cout << foo_VERSION_MAJOR;
return 0;
}
(错误)fatal error: src/fooConf.h: No such file or directory
您的fooConf.h
头文件是在二进制树中生成的(准确地说,在${CMAKE_BINARY_DIR}/src/
下)。因此,您应该发出相应的include_directories()
命令,以便在#include
中使用该文件。例如:
CMakeLists.txt
....
include_directories(${CMAKE_BINARY_DIR})
add_executable(foo ${SOURCE_FILES})
src/main.cpp
....
#include "src/fooConf.h"
相关文章:
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- 将库链接到另一个应用程序时,CMAKE 找不到库
- 在 main.cpp 的上下文中找不到目录(带有 CMake 的快板)
- CMake 問題:找不到 Visual Studio 的任何執行個體
- CMake:在其他目录中找不到我的头文件
- CMake 找不到变量或目录
- 使用 CMake,Microsoft MPI 和 Visual Studio 2017 找不到 mpi.h
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- CMake 在 Windows 上的自定义位置上找不到 Boost
- 找不到 CMake 链接的库
- CMake 包支持 - 找不到包含和库
- 找不到cmake和osx框架
- 链接器错误-在ubuntu中找不到CMake和Cuda 10.1的lcudart
- 在包含中找不到 CMake 头文件
- vcpkg 在安装软件包时找不到 cmake.cmd
- 当找不到CMAKE的find_package时,如何将其静音警告?
- 找不到 CMake 静态库的依赖项
- 在 Linux Mint 上找不到 CMake 的提升
- 找不到CMake和lcov:gcno文件
- CLion 找不到 CMake 生成的标头?