我的问题不是关于undefined reference
错误,而是关于
Eclipse中的Toolchain "MinGW GCC" is not detected.
错误,以及这两个链接是否链接。
我正在尝试建立SDL环境。我有Eclipse C ++ 2018-2019(v4.8)和64位MinGW编译器。
我已经从网站上下载了文件(头文件和库),并将它们分别放在我的MinGW安装目录中的以下文件夹中:
C:\ Program Files(x86)\ mingw-w64 \ mingw32 \ include \ SDL2
C:\ Program Files(x86)\ mingw-w64 \ mingw32 \ lib
然后,我创建一个新的C ++项目(可执行文件> Hello World C ++项目),然后取消选择“仅在平台上支持时显示项目类型和工具链”,以便能够选择MinGW工具链,如{{ 3}}。
然后我使用属性> C / C ++ Build>设置并添加库
mingw32
SDL2main
SDL2
并还添加了Includes路径
C:\ Program Files(x86)\ mingw-w64 \ mingw32 \ include \ SDL2
然后,在窗口顶部,我注意到一个in this image表示
Toolchain "MinGW GCC" is not detected.
经过一番谷歌搜索后,我发现这可能是因为PATH变量未正确设置。我搜索了变量,发现它包含一长串路径,包括
C:\Program Files (x86)\mingw-w64\mingw32\bin;
这是我发现的每个解决方案都应添加的内容,但警告仍然存在。
然后我构建了项目,并将SDL2.dll复制到与可执行文件相同的文件夹中。
当我尝试构建以下代码时
#include <iostream>
#include <SDL.h>
using namespace std;
int main(int argc, char *argv[]) {
if(SDL_Init(SDL_INIT_VIDEO) < 0) {
cout << "SDL init failed." << endl;
return 1;
}
cout << "SDL Init succeeded." << endl;
SDL_Quit();
return 0;
}
要查看我是否已正确完成所有操作,在CDT Build Console中出现以下错误:
Info: Configuration "Debug" uses tool-chain "MinGW GCC" that is unsupported on this system, attempting to build anyway.
Info: Internal Builder is used for build
g++ -o SDLTest.exe "src\\SDLTest.o" -lmingw32 -lSDL2main -lSDL2
src\SDLTest.o: In function `Z8SDL_mainv':
C:\Users\ilias\Desktop\eclipse-workspace\SDLTest\Debug/../src/SDLTest.cpp:15: undefined reference to `SDL_Init'
C:\Users\ilias\Desktop\eclipse-workspace\SDLTest\Debug/../src/SDLTest.cpp:22: undefined reference to `SDL_Quit'
C:/Program Files (x86)/mingw-w64/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/lib/../lib/libmingw32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x39): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
由于无法检测到此工具链“ MinGW GCC”,因此我不确定是否会收到此错误。错误或因为我弄乱了其他东西。
这是什么,我该如何解决?