CMake 无法将头文件包含到我的源文件中

巴多尔斯米托

我正在学习 CMake,并进入了学习如何包含头文件的部分。问题是我得到一个错误,说没有找到头文件。

顺便说一句,我在 Windows 10 上。

我现在所拥有的只是一个srcinclude目录以及CMakeLists.txt文件。在源代码中,我只有一个文件,并且在 include 中也只有一个文件。这是我的main.cpp文件:

#include <iostream>
#include "include/main.h"
int main() {
    std::cout << "Hello, World!\n";
    sayHi("Joshua");
    return 0;
}

这是我的CMakeLists.txt文件。

cmake_minimum_required(VERSION 3.10)
set(CXX_STANDARD 17)
set(CXX_STANDARD_REQUIRED ON)
project(hello VERSION 1.0)
add_executable(hello ../src/main.cpp)
target_include_directories(hello PUBLIC ${CMAKE_CURRENT_SRC_DIR}/include)

编辑:我修复了源代码,以便包含main.h,而不是include/main.h,但我仍然遇到相同的错误:

"C:\Users\HP\desktop\test\4\build\hello.sln" (destino padrão) (1) ->
"C:\Users\HP\desktop\test\4\build\hello.vcxproj.metaproj" (destino padrão) (3) ->
"C:\Users\HP\desktop\test\4\build\hello.vcxproj" (destino padrão) (4) ->
(ClCompile destino) ->
  C:\Users\HP\Desktop\test\4\src\main.cpp(3,10): fatal error C1083: Cannot open include file: 'main.h
': No such file or directory [C:\Users\HP\desktop\test\4\build\hello.vcxproj]

    0 Aviso(s)
    1 Erro(s)
    ```

What is going on?
Pesho_T

${CMAKE_CURRENT_SOURCE_DIR},不是${CMAKE_CURRENT_SRC_DIR}

如果你解决了这个问题,那么编译器应该会看到正确的包含目录。

目前因为该变量不存在,所以它看到的唯一目录/include不是您想要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章