Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对“SDL_Init'”的未定义引用;(未定义的引用)`WinMain@16';collect2.exe:错误:ld返回1个退出状态)_C_Clion - Fatal编程技术网

对“SDL_Init'”的未定义引用;(未定义的引用)`WinMain@16';collect2.exe:错误:ld返回1个退出状态)

对“SDL_Init'”的未定义引用;(未定义的引用)`WinMain@16';collect2.exe:错误:ld返回1个退出状态),c,clion,C,Clion,我试图在我的项目中学习和使用SDL。起初我遇到了一些问题,我的ide找不到它。我正在使用clion ide和mingw。我在mingw(C:\mingw\include\SDL2)上添加了sdl,现在它可以工作了。但我还是不能编译。你知道这个错误吗 Linking C executable Hello_World.exe CMakeFiles\Hello_World.dir/objects.a(main.c.obj): In function `SDL_main': C:/Users/Deve/

我试图在我的项目中学习和使用SDL。起初我遇到了一些问题,我的ide找不到它。我正在使用clion ide和mingw。我在mingw(C:\mingw\include\SDL2)上添加了sdl,现在它可以工作了。但我还是不能编译。你知道这个错误吗

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_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位

您是否包括.a和/或.lib?
如果不包含这些函数,程序将永远找不到要使用的函数。

是否包含.a和/或.lib?
如果不包含此项,程序将永远找不到要使用的函数。

您应该在cmake文件中包含
-lSDL
标志:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -lSDL")

您应该在cmake文件中包含
-lSDL
标志:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -lSDL")