【发布时间】:2021-05-15 11:47:55
【问题描述】:
所以这是我的项目的样子,供参考:
+ <root>
+ build
+ inc
+ libsm64
+ libsm64.hpp
+ src
+ libsm64.cpp
+ CMakeLists.txt
+ CMakeLists.txt
顶级CMakeLists.txt:
cmake_minimum_required(VERSION 3.8)
project(libsm64)
# add source.
add_subdirectory(src)
还有CMakeLists.txt 代表/src:
add_library(libsm64 libsm64.cpp ../inc/libsm64/libsm64.hpp)
target_include_directories(libsm64 PRIVATE ../inc)
Visual Studio 2019 和 VSCode 都会在 libsm64.cpp 中给我一个错误,说它无法打开 libsm64/libsm64.hpp。为什么?
编辑:即使我将相对目录引用替换为绝对引用,即${libsm64_PROJECT_DIR}/inc/libsm64/libsm64.hpp,它也不起作用。
【问题讨论】:
-
在 Visual Studio 中查看项目设置中的 Include 目录以查看添加的内容。
-
它没有 .sln 文件,它是使用 Visual Studio 的 cmake 集成创建的。我应该使用 cmake 生成 .sln 吗?
-
我总是让 CMake 生成 Visual Studio 项目文件。
-
我认为错误与
${libsm64_PROJECT_DIR}/inc/libsm64/libsm64.hpp或add_library(libsm64 libsm64.cpp ../inc/libsm64/libsm64.hpp)无关 -
等一下说它无法打开 libsm64/libsm64.hpp. 是编译错误?还是无法在 IDE 中打开文件?