我一直在尝试将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在哪里。
答案 0 :(得分:1)
您不需要包含Find<Lib>
个文件。 find_package( <Lib> )
自动查找并使用这些文件。
如果您使用的是Windows,我认为您需要将 SDLDIR环境变量设置为SDL /lib
和/include
文件夹所在的文件夹。