我在Linux上启动了一个项目,现在想在Windows 10上构建它。因此,我将CLion用作我的IDE。不幸的是,CLion无法解析标准标题符号。请查看我的设置的屏幕截图。
我的项目树:
我的CMakeLists.txt
cmake_minimum_required(VERSION 3.1)
project(vilsoc)
include_directories(include)
file(GLOB SOURCES "src/*.cpp")
set(LIBS sfml-graphics sfml-window sfml-system)
if (WIN32)
set(SFML_DIR "C:\\Program Files (x86)\\Libraries\\sfml-2.5.1-vs15-32bit")
find_package(SFML 2.5 COMPONENTS graphics audio REQUIRED)
if(NOT TARGET spdlog)
# Stand-alone build
set(SPDLOG_DIR "C:\\Program Files (x86)\\spdlog-1.3.1")
find_package(SPDLOG REQUIRED)
endif()
endif (WIN32)
add_executable(vilsoc main.cpp ${SOURCES})
if (WIN32)
target_link_libraries(vilsoc ${LIBS} spdlog::spdlog)
endif (WIN32)
if (UNIX)
target_link_libraries(vilsoc ${LIBS})
endif (UNIX)
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")
我想指出,spdlog::info
是我使用的DLL的第三部分。如果有人也能给我提示如何解决这个问题,我也将很感激。但是首先,我想解决标准的标题。
答案 0 :(得分:0)
谢谢。
在Mac / clang上,CLion 2019.2正确解析您的项目;它正确地找不到spdlog
和sf
命名空间,因为它们不包括在内。
“ Windows上的标准标头”问题可能源于mingw64,因此不受积极支持。提到的黑客可能会或可能不会有帮助。如果选择切换到Visual Studio编译器,请尝试。
如果不顾一切,请使用include_directories(SYSTEM <dir1>)
设置标准库的显式路径。