Karl 发表于 2019-5-29 16:06:41

Qt greater 使用SDL2.0.9的问题

1、环境:WINDOW10(64位)、软件——Qt greater 5.12、SDL2.0.9

2、问题:配置好SDL后,进行测试SDL是否安装好,出现error: undefined reference to `SDL_Init',测试代码如下
if(SDL_Init(SDL_INIT_VIDEO)) {            printf( "Could not initialize SDL - %s\n", SDL_GetError());      } else{            printf("Success init SDL");      }      return ;
3、配置方式:在PRO文件中手动添加SDL库文件,如下
INCLUDEPATH+=E:/myplayer/myplayer/SDL2-2.0.9/x86_64-w64-mingw32/include
LIBS+=-LE:/myplayer/myplayer/SDL2-2.0.9/x86_64-w64-mingw32/-llibSDL2   \      -LE:/myplayer/myplayer/SDL2-2.0.9/x86_64-w64-mingw32/-llibSDL2_test   \      -LE:/myplayer/myplayer/SDL2-2.0.9/x86_64-w64-mingw32/-llibSDL2main   \4、注意:已经添加了头文件声明,如下

extern "c"{#include"SDL2/SDL.h"}

5、由于本人在网上也查了很久,所以只能拜托各位大神了,求指导,也可加QQ:937665133,谢谢~

Karl 发表于 2019-5-29 16:59:21

QT5.12上使用SDL2.0.9有人试过?是否存在版本不兼容的问题/?

Karl 发表于 2019-5-30 15:53:53

以下是测试代码,有空的小伙伴们可以尝试下

Karl 发表于 2019-5-30 16:02:38

本人在网上查了很久,这种情况一般都是编译器找不到SDL库造成的,原因一般有以下几点:1、SDL库与编译环境位数不一致;2、忘记添加DLL库;3、SDL库本身用到main,会出现警告或错误提示,只需要在声明时加上"undef main"即可;4、构建静态库顺序不对,正确是-lSDL2main-lSDL2,其他库接着添加即可;
很可惜本人自身的问题,还没有找到,心累。。。。。。。。。。。。。。。
页: [1]
查看完整版本: Qt greater 使用SDL2.0.9的问题