簡體   English   中英

多個Cmake文件和SFML“嚴重錯誤:SFML / Graphics.hpp:無此類文件或目錄”

[英]Multiple Cmake files and SFML “fatal error: SFML/Graphics.hpp: No such file or directory”

我的項目中有2個CMakeLists.txt文件。

CMakeLists.txt

cmake_minimum_required(VERSION 3.2)
project(Game)

set(CMAKE_CXX_STANDARD 14)

include_directories(core)
add_subdirectory(core)

add_executable(${PROJECT_NAME} game/main.cpp)
target_link_libraries(${PROJECT_NAME} Core)

核心/CMakeLists.txt

project(Core)    
set(SOURCE_FILES ecs/Component.hpp ecs/Destroyable.hpp ecs/Destroyable.cpp ecs/Entity.hpp ecs/Entity.cpp Game.cpp Game.hpp components/Sprite.hpp components/Sprite.cpp components/Transform.hpp components/Transform.cpp ecs/Serializable.hpp ecs/ComponentsCreator.cpp ecs/ComponentsCreator.hpp common/Utility.cpp common/Utility.hpp common/Logger.hpp common/Logger.cpp common/Vector2.hpp common/Vector2.cpp components/Camera.cpp components/Camera.hpp ecs/Component.cpp components/AnimationPlayer.cpp components/AnimationPlayer.hpp Animation.cpp Animation.hpp Frame.cpp Frame.hpp lib/termcolor.hpp lib/json.hpp)

add_library(${PROJECT_NAME} ${SOURCE_FILES})

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/")
find_package(SFML REQUIRED system window graphics network audio)
if (SFML_FOUND)
    include_directories(${SFML_INCLUDE_DIR})
    link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES})
endif()

而且我在編譯“ core / ecs / Entity.hpp:3:29:致命錯誤:SFML / Graphics.hpp:沒有這樣的文件或目錄”時遇到此錯誤。 有人可以告訴我這是怎么回事嗎?

您的腳本無法以這種方式工作,它很可能由於您多次調用project()而被破壞了。

core內部的內容被視為一個獨立項目,因此內部的包含目錄等永遠不會應用於您的根目錄。

從第二個文件中刪除第一行project(Core) ,並將目標直接定義為Core 在那之后它應該可以工作,除非我錯過了其他事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM