在Windows上使用Eclipse和MinGW设置SDL2

Setting up SDL2 with Eclipse and MinGW on Windows

本文关键字:MinGW 设置 SDL2 Eclipse Windows      更新时间:2023-10-16

我正试图在Windows上使用Eclipse Kepler和MinGW创建一个SDL2项目。我已经在C:\MinGW\lib中的MinGW(.a)中添加了SDL2-lib,在MinGW中添加SDL2-include(C:\MinGW\include\SDL2),我还在项目属性->C/C++常规->路径和符号->库中添加了以下行:

mingw32
SDL2主要
SDL2

然后我在MinGW C++链接器中的"命令行模式"行的末尾放了"-mwindows"

我还添加了-Dmain=SDL_main作为入口点。。。

但编译器给了我错误:

main.cpp:7:对"SDL_CreateWindow"的未定义引用

这是代码:

#include <SDL2/SDL.h>
int main(int, char**)
{
    SDL_Window *pWindow = nullptr;
    pFenetre = SDL_CreateWindow("Test SDL 2.0", 0, 0, 320, 240, SDL_WINDOW_SHOWN);
    if (!pWindow)
    {
        return -1;
    }
    SDL_DestroyWindow(pWindow);
    return 0;
}

这是构建控制台:

信息:内部生成器用于生成g++"-LC:\\MinGW\\lib"-o Test.exe main.o-lmingw32-lSDL2main-lSDL2-mwindowsmain.o:在函数"SDL_main"中:C: \Users\olivi_000\workspace\Test\Debug//main.cpp:7:对"SDL_CreateWindow"的未定义引用C: \Users\olivi_000\workspace\Test\Debug//main.cpp:13:对"SDL_DestoryWindow"的未定义引用C: \MinGW\lib/libringw32.a(main.o):main.C:(.text.startup+0xa7):未定义对的引用`WinMain@16'collect2.exe:错误:ld a returné1代码

怎么了?

确保您使用的是正确的版本的库。不能将64位导入库与32位编译器混合使用。对于您下载的SDL2库(SDL2-devel-2.0.0-mingw.tar.gz),它同时提供了32位和64位。CCD_ 1是32位的,而CCD_。