Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Включение статической библиотеки в проект C (Eclipse)

Автор вопроса: Jake WayneОтветов: 1

В настоящее время я разрабатываю приложение с использованием 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

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

cstatic-librarieseclipsemingw

Ответы

Ответ 1 · рейтинг 1 · Devolus

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы