我正在尝试在我的项目中学习和使用SDL。起初我有一些问题,我的想法找不到它。我正在使用clion ide和mingw。我在mingw上添加了sdl(C:\ MinGW \ include \ SDL2),现在它正在工作。但我仍然无法编译。有关此错误的任何想法?
Linking C executable Hello_World.exe
CMakeFiles\Hello_World.dir/objects.a(main.c.obj): In function `SDL_main':
C:/Users/Deve/ClionProjects/Hello World/main.c:5: undefined reference to `SDL_Init'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../libmingw32.a(main.o):(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
这是我现在唯一的代码
#include "SDL2/SDL.h"
int main(int argc, char *argv[]){
SDL_Init(SDL_INIT_VIDEO);
return 0;
}
我不能让它发挥作用。
这是我的cmake
cmake_minimum_required(VERSION 3.2)
project(Hello_World)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror")
set(SOURCE_FILES main.c)
add_executable(Hello_World ${SOURCE_FILES})
我的系统是Windows 8.1 64位
答案 0 :(得分:0)
你是否包括.a和/或.lib? 如果你不包括它,你的程序将永远找不到你想要使用的功能。
答案 1 :(得分:0)
您应该在cmake文件中包含-lSDL
标志:
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -lSDL")