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

时间:2012-09-23 22:30:14

标签: c eclipse mingw static-libraries

我目前正在使用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:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to中的WinMain @ 16'

考虑到目录C:\ MinGW根本不存在,这是相当奇怪的。

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

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

1 个答案:

答案 0 :(得分:1)

您似乎正在构建一个Windows GUI应用程序,该应用程序需要WinMain,而您的代码仅提供用于控制台应用程序的main函数。

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