Я знаю, что есть некоторые ответы (например here, here или here), но я не могу заставить его работать:SDL2 и CMake на OS X 10,11
Рассмотрим MWE main.cpp
// depending on the source of the example,
// one of the two includes is used
//#include <SDL2/SDL.h>
#include "SDL.h"
int main() {
//Start SDL
SDL_Init(SDL_INIT_EVERYTHING);
//Quit SDL
SDL_Quit();
return 0;
}
I downloaded SDL2 v2.0.4 на OS X 10.11 и скопировал SDL2.framework файл в /Library/Frameworks папку.
Теперь я пытаюсь найти рабочий сценарий CMake для компиляции main.cpp.
Сначала я попытался
find_package(SDL)
add_executable(example main.cpp)
target_include_directories(example ${SDL_INCLUDE_DIR})
target_link_libraries(example ${SDL_LIBRARY})
Но я получаю сообщение об ошибке
Could NOT find SDL (missing: SDL_LIBRARY) (found version "2.0.4")
CMake Error at CMakeLists.txt:3 (target_include_directories):
target_include_directories called with invalid arguments
Если я включил FindSDL2.cmake в подкаталоге CMake и использовать скрипт
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIR})
add_executable(example main.cpp)
CMake работы , но я получаю ошибку компоновщика:
Undefined symbols for architecture x86_64:
"_SDL_Init", referenced from:
_main in main.cpp.o
"_SDL_Quit", referenced from:
_main in main.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
У вас есть идеи, что мои проблемы и как я могу правильно использовать SDL2 таким образом?
фиксированный. запятые, цитаты, точки с запятой ... мой cmake ужасен – xaxxon
работает для меня, спасибо! – muffel