使用SDL进行CMake会导致错误

时间:2012-05-23 23:36:49

标签: cmake sdl

我一直在尝试将CMake用于我在SDL中进行的项目,但遇到了一些问题。我的库等sdl文件夹位于C:\ SDL \ SDL-1.2.14。错误说明:

Could NOT find SDL (missing:  SDL_LIBRARY SDL_INCLUDE_DIR)  Could NOT find SDLIMAGE (missing:  SDLIMAGE_LIBRARY SDLIMAGE_INCLUDE_DIR)  CMake Error at C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE):   Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR) Call Stack (most recent call first):   C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:288 (_FPHSA_FAILURE_MESSAGE)   C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindSDL.cmake:172 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)   CMakeLists.txt:10 (Find_Package)

这是我的CMakeLists.txt文件。

Project(SDLExample)
Include(FindSDL)
Include(FindSDL_image)

set(
    SOURCES 
    example.cpp
)

Find_Package(SDL REQUIRED)
Find_Package(SDL_image REQUIRED)

if(NOT SDL_FOUND)
    message( FATAL ERROR "SDL not found!")
endif(NOT SDL_FOUND)

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

add_executable(
    Example
    WIN32
    MACOSX_BUNDLE
    {$SOURCES}
)

有什么想法吗?

编辑:我现在通过在Windows GUI中编辑SDL路径的字段来实现它。问题当然是我无法找到一种方法将'backport'这个回到cmake文件中,所以我每次都要重新编辑它们,生成的VS10文件加载到visual studio中,但是没有包含SDL的路径等已正确加载到项目中,因此它不会编译,说它不知道SDL.h在哪里。

1 个答案:

答案 0 :(得分:1)

您不需要包含Find<Lib>个文件。 find_package( <Lib> )自动查找并使用这些文件。

如果您使用的是Windows,我认为您需要将 SDLDIR环境变量设置为SDL /lib/include文件夹所在的文件夹。