При создании файлов проекта, которые зависят от SFGUI, файл .lib не может быть найден

Я немного застрял с проблемой, пытаясь создать простую тестовую программу с использованием SFML и SFGUI. Это на Windows, и я использовал cmake для генерации проектов Visual Studio 2017.

Сначала я клонировал SFML и SFGUI из github и сгенерировал файлы решения. Я запустил Visual Studio в режиме администратора и собрал проект INSTALL с целями выпуска и отладки, чтобы все они были собраны и добавлены C:\Program Files (x86)\SFML\ а также C:\Program Files (x86)\SFGUI\ соответственно. Все построено и установлено нормально прямо из коробки. Я также добавил эти два каталога в мой PATH переменная окружения. Я могу создавать и запускать примеры проектов, которые поставляются с SFGUI, которые отображаются в файле решения.

Так что теперь я иду и создаю свой собственный проект, и все начинает разваливаться. Импорт SFML сам по себе работает нормально. У меня есть простая программа, которая открывает окно и работает нормально. Когда я добавляю в find_package(SFGUI REQUIRED) CMake не удается, когда проект пытается обновить. Я получаю следующую ошибку:

2>CMake Error at C:/Program Files (x86)/SFGUI/cmake/SFGUITargets.cmake:78 (message):
2>  The imported target "SFGUI::SFGUI" references the file
2>
2>     "C:/Program Files (x86)/lib/SFGUI-d.lib"2>
2>  but this file does not exist.  Possible reasons include:
2>
2>  * The file was deleted, renamed, or moved to another location.
2>
2>  * An install or uninstall procedure did not complete successfully.
2>
2>  * The installation package was faulty and contained
2>
2>     "C:/Program Files (x86)/SFGUI/cmake/SFGUITargets.cmake"2>
2>  but not all the files it references.

Обратите внимание на ошибку, файл "C:/Program Files (x86)/lib/SFGUI-d.lib" и не "C:/Program Files (x86)/SFGUI/lib/SFGUI-d.lib", Первый является недопустимым каталогом, последний фактически существует.

Глядя на файлы SFGUI cmake, он выглядит как переменная _IMPORT_PREFIX устанавливается на C:/Program Files (x86)/, когда я думаю, что это должно быть установлено на C:/Program Files (x86)/SFGUI, Я думаю, что переменная устанавливается при вызове set_target_properties в SFGUITargets[-debug].cmake, Я не уверен, является ли это основной проблемой, или если это так, почему это неправильно. Есть идеи, что я сделал не так?

Вот весь мой CMakeLists.txt на случай, если это поможет:

cmake_minimum_required(VERSION 3.1)

set(PROJECT_NAME TestProj)

project(${PROJECT_NAME})

set(SOURCES src/main.cpp)

find_package(OpenGL REQUIRED)
find_package(SFML 2.5 REQUIRED COMPONENTS graphics window audio network system)
find_package(SFGUI REQUIRED) # Errors here. Without this line it's fine.

add_executable(${PROJECT_NAME} ${SOURCES})
target_link_libraries(${PROJECT_NAME} sfml-graphics sfml-window sfml-audio sfml-network sfml-system)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]