Я хочу обработать зависимости проекта C++/cmake/gcc
в Linux, используя conan , и построить демонстрацию Im Gui C ++, как показано здесь: используя im gui by Elias Daler
Я использовал conan для успешной обработки Boost
зависимостей, но с Im Gui -SFML у меня ошибка связывания.
My conanfile.txt
имеет следующие инструкции:
[requires]
imgui-sfml/2.1@bincrafters/stable
[imports]
bin, *.so -> ./bin
lib, *.a -> ./lib
[generators]
cmake_find_package
cmake_paths
cmake
И я добавил эти строки в свой CMakeLists.txt
для работы с conan:
include(${CMAKE_BINARY_DIR}/conan_paths.cmake)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
link_directories(${CONAN_LIB_DIRS})
target_link_libraries(my_project ${CONAN_LIBS})
Затем внутри build/
я запускаю следующую команду, чтобы построить библиотеки и установите зависимости:
conan install .. --build imgui-sfml
Пока все хорошо с conan, создается libImGui-SFML.a
(он также копируется в build/lib
из-за [imports]
, хотя я думаю, что копия не должна (не требуется, поскольку я добавляю инструкцию link_directories()
).
Затем я генерирую make-файлы
cmake ..
Наконец, когда я пытаюсь собрать проект
cmake --build ./
Я получаю следующие ошибки связывания:
/usr/bin/ld: cannot find -lImGui-SFML
/usr/bin/ld: cannot find -lopenal
/usr/bin/ld: cannot find -lFLAC++
/usr/bin/ld: cannot find -lFLAC
Библиотеки, сгенерированные conan, - это stati c:
libFLAC.a
libFLAC++.a
libfreetype.a
libImGui-SFML.a
libogg.a
libopenal.a
Этот пост выглядит связанным, но не сработал для Im Gui: Установка gtest с помощью conan
Ищет ли программа разделяемые библиотеки?
Мне что-то не хватает конфигурация в файле conanfile.txt
или CMakeLists.txt
?
Изменить:
Conan version 1.25.2