cmake (winxp sp3、cmake 2.8.4) を使用して、SDL をアプリケーションにリンクしています。
cmake_minimum_required(VERSION 2.8)
find_package(SDL REQUIRED)
set(src WIN32 main.cpp)
include_directories(${QT_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${SDL_INCLUDE_DIR})
add_executable(test ${src})
target_link_libraries(test ${SDL_LIBRARY})
問題: SDL_LIBRARY には SDLmain.lib が含まれており、それとのリンクを避ける必要があります (main を含む別のライブラリが既にありますが、この cmakelists.txt の例には記載されていません)。
SDL_LIBRARY から SDLmain エントリを削除する必要があります。これは、ライブラリへのハードコーディングされたパスを使用せずに行う必要があります。基本的には、find_package を使用して sdl 関連の変数を設定する必要がありますが、SDLmain が SDL_LIBRARY 内にないことを確認する必要があります。また、文字列(FIND)を持たないcmake 2.8.4を使用しています。
どうやってやるの?