#c #cmake
Вопрос:
Я пытаюсь изучить CMake, создав небольшое приложение с использованием CMake и SFML в Visual Studio. Тем не менее, у меня возникают трудности с указанием моих .hpp
файлов туда, где находятся мои заголовки SFML. Похоже, что CMake не рассматривает файлы заголовков в качестве целевых объектов, поэтому он не добавляет эти внешние каталоги включения в мои заголовки. Поэтому я не могу использовать модули SFML в своих заголовках для определения классов и тому подобного. Вот мой CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(Euclid)
set(SFML_INCLUDE_DIR "C:\Program Files (x86)\SFML\include")
set(SFML_LIBRARY_DIR "C:\Program Files (x86)\SFML\lib")
set(SRC
${PROJECT_SOURCE_DIR}/Block.cpp
${PROJECT_SOURCE_DIR}/Block.hpp
${PROJECT_SOURCE_DIR}/Main.cpp
)
add_executable(Main ${SRC})
target_include_directories(Main PUBLIC ${SFML_INCLUDE_DIR})
target_link_libraries(Main PUBLIC ${SFML_LIBRARY_DIR})
Комментарии:
1. » это не добавление этих внешних каталогов включения в мои заголовки «. Что именно это значит? Файлы заголовков никогда не создаются изолированно, поэтому какой файл cpp на самом деле не работает? Пожалуйста, покажите точный журнал сборки и ошибки.
2. Вы должны использовать find_package , затем вы можете просто перейти по ссылке на цель smfl, а cmake сделает все остальное
3. Когда я пытаюсь
#include <SFML/Graphics.hpp>
вBlock.hpp
Visual Studio, он говорит, что не может загрузить файл. Но это работает вcpp
файлах.