2016-10-08 4 views
0

Я скомпилировал SFML в Windows (MinGW) и нашел себя со структурой каталогов с bin, include, lib и cmake/Modules/FindSFML.cmake.найти SFML с CMake в Windows

Я не могу найти, как использовать SFML в CMakeLists.txt, будь то

find_package(SFML REQUIRED) 

или

find_package(SFML CONFIG REQUIRED) 

Все, что я получаю, когда я использовать CMake является:

CMake Error at CMakeLists.txt:34 (find_package): 
    Could not find a package configuration file provided by "SFML" with any of 
    the following names: 

    SFMLConfig.cmake 
    sfml-config.cmake 

    Add the installation prefix of "SFML" to CMAKE_PREFIX_PATH or set 
    "SFML_DIR" to a directory containing one of the above files. If "SFML" 
    provides a separate development package or SDK, be sure it has been 
    installed. 

Я попытался установить вручную:

SFML_DIR:PATH=E:/code/libraries/SFML-2.4.0 
CMAKE_MODULE_PATH:PATH=E:/code/libraries/SFML-2.4.0 

или

CMAKE_MODULE_PATH:PATH=E:/code/libraries/SFML-2.4.0/cmake/modules 

Но я не делаю никакого прогресса.

+0

Помогает ли этот ответ? http://stackoverflow.com/a/39126731/2799037 – usr1234567

+0

Пожалуйста, добавьте свои звонки. Почему вы добавляете 'cmake/modules'? Почему CMAKE_MODULE_PATH, а не путь CMAKE_PREFIX? – usr1234567

ответ

1

Это пошаговое руководство, которое мы предоставили (фотография). Когда это будет сделано, вы должны помнить, что вам нужно связать Librarys к вашей программе, с этой линией:
target_link_libraries (<Name of project here> sfml-graphics sfml-window sfml-system)
, если вы хотите использовать библиотеку в Audi SFML просто добавить sfml-audio в конце и так далее. в режиме отладки вы должны иметь -d в конце каждой библиотеки. Нравится sfml-graphics-d.
Если вы делаете некоторые большие изменения в CMake или меняете проект, вам нужно добавить:
-IC:/dev/libs/SFML/include -LC:/dev/libs/SFML/lib назад. (Вы можете добавить папку, где хотите). -I предназначен для папок Include и -L для всех папок lib, вам нужно это письмо перед всеми путями.
Если у вас возникли проблемы с связыванием/bin-папкой, вы можете удалить все файлы .dll в папку System32 (для 64-разрядных, SysWOW64 для 32-разрядных).
И помните, есть GW, который соответствует SFML.

Step by step guide

information

What to include

flags

0

Когда я получил ту же ошибку в CMake-гуй, все, что я сделал, - добавил запись с именем "SFMLDIR" и значение с пути sfml.

Смежные вопросы