在 C 项目 (Eclipse) 中包含静态库



我目前正在使用 SDL 开发一个应用程序。为了使用它,我已经在项目设置中添加了库和头文件C/C++ Build -> Settings -> Tool Settings -> Libraries/Includes .但是,当我尝试构建一个测试程序时,例如

#include <stdio.h>
#include <SDL/SDL.h>
int main(int argc, char *argv[])
{
    SDL_Init(SDL_INIT_EVERYTHING);
    SDL_Quit();
    return 0;
}

我在链接过程中收到这条漂亮的错误消息:

d:/program/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../libmingw32.a(main.o):在函数main': C:MinGWmsys1.0srcmingwrt/../mingw/main.c:73: undefined reference to WinMain@16'

这很奇怪,因为目录C:\MinGW甚至根本不存在。

用于链接的命令是这样的:gcc "-LD:\Programme\SDL\lib" -o test.exe test.o -lsdl

在尝试让库链接工作两个小时后,我很困惑,不知道我做错了什么。帮助将不胜感激。

看起来您正在构建一个需要WinMainWindows GUI应用程序,而您的代码仅提供用于控制台应用程序的main函数。

因此,如果这应该是控制台应用程序,则必须相应地调整链接器设置,或者必须声明WinMain

最新更新