Я пытаюсь заставить conan работать в тестовом проекте, следуя их руководство по началу работы, чтобы я мог начать использовать его в реальном проекте. Я пытаюсь использовать SDL2 с glew в проекте C ++, скомпилированном с g ++ на Ubuntu 16.10 x64.
Мой файл conanfile.txt выглядит так:
[requires]
SDL2/2.0.5@lasote/stable
glew/2.0.0@coding3d/stable
[generators]
cmake
Мой файл CMakeLists.txt выглядит так:
project(conantest)
cmake_minimum_required(VERSION 3.5)
set(CMAKE_CXX_STANDARD 11)
include(conan/conanbuildinfo.cmake)
conan_basic_setup()
set(SRC_FILES main.cpp Display.cpp)
add_executable(conantest ${SRC_FILES})
Мой проект состоит из каталога, содержащего CMakeLists.txt, conanfile.txt, весь мой исходный код, каталога сборки для Cmake, каталога conan для Conan и rebuild.sh. Я использую этот сценарий rebuild.sh для очистки и сборки проекта всякий раз, когда я вношу изменения в среду сборки (rm -r, хотя и неоптимально, когда он работает, существует, чтобы гарантировать, что любые ошибки из предыдущей установки будут удалены, как только я попытаюсь исправление).
Мой rebuild.sh выглядит так:
rm -r ./build/*
rm -r ./conan/*
cd conan
conan install ..
cd ../build
cmake ..
make
Когда я запускаю этот скрипт, кажется, что все работает, пока не будет связан последний исполняемый файл. Когда это происходит, я получаю Display.cpp:(.text+0x8a): undefined reference to `SDL_Init'
. Чтобы решить эту проблему, я попробовал решения здесь и здесь. Хотя они не относятся к SDL, мне не удалось найти никаких ресурсов.
Здесь находится zip-файл с полной средой, Я использую, в том числе MCVE.