CMake, SDL в Mac OS X, "не могу найти -lSDLmain" - PullRequest
0 голосов
/ 10 марта 2012

Следуя инструкциям здесь , я установил CMakeLists.txt:

Find_Package (SDL REQUIRED)
Find_Package (SDL_image REQUIRED)

link_libraries (
     ${SDL_LIBRARY}
     ${SDLIMAGE_LIBRARY}
     SDLmain
)

При запуске cmake я получаю следующую ошибку:

ld: library not found for -lSDLmain
collect2: error: ld returned 1 exit status
make[2]: *** [src/GameOfLife] Error 1

Запуск g++ вручную выдает ту же ошибку:

$ g++-4.7 -std=c++0x ../src/*.cpp -lSDLmain          
ld: library not found for -lSDLmain

Как это исправить?

1 Ответ

2 голосов
/ 10 марта 2012

make не знает, где найти SDLmain; Мне нужно сделать ссылку на каталог, используя link_directory в `CMakeLists.txt.


Запуск

$ g++-4.7 -std=c++0x ../src/*.cpp `sdl-config --libs`

работает нормально, поэтому я четко установил SDL. Проверка вывода sdl-config --libs:

$ sdl-config --libs  
-L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa

То, что не в CMakeLists.txt - это -L/opt/local/lib. Это должно быть добавлено в CMakeLists.txt, используя link_directory:

link_directories( /opt/local/lib )

А потом cmake работает нормально.

...