我有一个简单的CMake教育项目,结构如下:
根CMakeLists.txt如下所示:
cmake_minimum_required(VERSION 3.24.2)
project(SIMPLE_ENGINE CXX)
add_subdirectory(engine)
add_subdirectory(game)
游戏:
cmake_minimum_required(VERSION 3.24.2)
project(GAME CXX)
add_executable(
game
src/main.cpp
)
target_link_libraries(
game
engine
)
set_property(TARGET game PROPERTY CXX_STANDARD 20)
工程师:
cmake_minimum_required(VERSION 3.24.2)
project(ENGINE CXX)
add_library(
engine
include/base/window.h
src/base/window.cpp
include/base/engine.h
src/base/engine.cpp
)
target_include_directories(
engine
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_link_libraries(
engine
glfw
GLEW
GL
)
set_property(TARGET engine PROPERTY CXX_STANDARD 20)
问题是VSCode找不到包含文件,尽管项目编译和运行成功。据我所知,它应该从cmake文件中获取所有信息。在这方面有什么建议吗?
2条答案
按热度按时间k2fxgqgv1#
好的,问题似乎是因为配置文件中的
"configurationProvider"
被设置为"ms-vscode.makefile-tools"
。我把它改为"configurationProvider": "ms-vscode.cmake-tools"
,现在它似乎工作了。5tmbdcev2#
您应该尝试将所有文件放在一个目录中。您可能还启用了一些扩展,如果VSCode没有检测到文件但仍在编译它们,则这些扩展会使VSCode混乱。