Cmakelist связан с проблемой conan на некоторых устройствах - PullRequest
0 голосов
/ 05 апреля 2020

Я работаю над списком cmakelist, связанным с Конаном, но у меня возникла проблема. Я не понимаю почему, но мой cmake не работает на некоторых устройствах. У двух моих друзей нет связи между библиотекой SMFL и двоичным файлом. Я использую рекомендованный и модный способ сделать это в соответствии с документом conan, который называется «Целевой подход». (https://docs.conan.io/en/1.4/integrations/cmake/cmake_generator.html)

Есть код:

include(${CMAKE_SOURCE_DIR}/.Build/conanbuildinfo.cmake)
conan_basic_setup(TARGETS)
[...]
target_link_libraries(sfml PRIVATE tools CONAN_PKG::sfml)

И ошибка:

[WARNING] Critical error :: System :: In 
/home/[...]/Sources/Tools/PluginLoader/PluginLoader.cpp at line 93 ::
./libsfml.so: undefined symbol: _ZN2sf7Texture12loadFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_4RectIiEE

Тогда я попробовал два других решение. Упоминание в документации как «Глобальный подход переменных». Первый:

include(${CMAKE_SOURCE_DIR}/.Build/conanbuildinfo.cmake)
conan_basic_setup()
[...]
target_link_libraries(sfml PRIVATE tools ${CONAN_LIBS})

Второй:

include(${CMAKE_SOURCE_DIR}/.Build/conanbuildinfo.cmake)
conan_basic_setup()
[...]
target_link_libraries(sfml PRIVATE tools ${CONAN_LIBS_SFML})

Но первый не компилируется. А вторая работает там, где «Целевой подход» не работает, но не создает ссылку на рабочие устройства «Целевого подхода».

Заранее благодарен за любую помощь.

...