Включение статической библиотеки в проект 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:/programme/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 toWinMain@16'

Что довольно странно, учитывая, что каталог C:\MinGW вообще не существует.

Для связывания используется следующая команда: gcc "-LD:\Programme\SDL\lib" -o test.exe test.o -lsdl

После двух часов попыток заставить работать ссылку на библиотеку я довольно запутался и понятия не имею, что я делаю неправильно. Помощь приветствуется.


person Jake Wayne    schedule 23.09.2012    source источник


Ответы (1)


Похоже, вы создаете приложение Windows GUI, для которого требуется WinMain, в то время как ваш код предоставляет только функцию main, предназначенную для консольных приложений.

Поэтому, если предполагается, что это консольное приложение, вы должны соответствующим образом изменить настройки компоновщика или объявить файл WinMain.

person Devolus    schedule 17.12.2013