Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > GNU toolchain > Eclipse+MinGW != Windows


Автор: kometa_75 13.11.2007, 16:29
Имеется IDE Eclipse+MinGW, ОС Windows. При создании оконных приложений Win32 получаю ошибки:
Main.o:Main.c: undefined reference to `GetStockObject@4' - для .с-файла
/mingw/lib/libmingw32.a(main.o):main.c: undefined reference to `WinMain@16' - для .срр-файла.
Понятно, что дело в настройках проекта, макросах или что-то подобном. Однако ещё никогда не работал с этой средой. Никто не может помочь ?


Автор: FiMa1 13.11.2007, 17:02
Цитата(kometa_75 @ 13.11.2007,  16:29)
Имеется IDE Eclipse+MinGW, ОС Windows. При создании оконных приложений Win32 получаю ошибки:
Main.o:Main.c: undefined reference to `GetStockObject@4' - для .с-файла
/mingw/lib/libmingw32.a(main.o):main.c: undefined reference to `WinMain@16' - для .срр-файла.
Понятно, что дело в настройках проекта, макросах или что-то подобном. Однако ещё никогда не работал с этой средой. Никто не может помочь ?

Кинь код, пожалуйста. Если он, конечно, не больших размеров. А еще лучше попробуй на helloworld скомпилить.
Код
#include <iostream>

int main()
{
    std::cout << "Hello world!\n";

    return 0;
}

Загляни, также, вот в этот топик http://forum.vingrad.ru/forum/topic-127350/kw-mingw-eclipse.html Здесь найдешь описание установки, прочти внимательно. Будь внимателен, кроме того, к замечаниям, приведенным после описания.

Автор: kometa_75 13.11.2007, 17:37
Консольные приложения собираются нормально. Проблема именно с приложениями Win32.

Автор: bsa 13.11.2007, 18:16
kometa_75, а ты разве не знал, что WinMain() - это вместо main() для GUIшных приложений? Да и ключик -windows пожет понадобиться добавить для линкера

Автор: orthrus 13.11.2007, 18:22
Цитата(bsa @  13.11.2007,  18:16 Найти цитируемый пост)
Да и ключик -windows пожет понадобиться добавить для линкера


Ключик правельнее называется -mwindows.

Автор: kometa_75 13.11.2007, 18:49
Цитата(bsa @ 13.11.2007,  18:16)
kometa_75, а ты разве не знал, что WinMain() - это вместо main() для GUIшных приложений? Да и ключик -windows пожет понадобиться добавить для линкера


А из чего видно, что я этого не знаю ? 
Вобщем проблему решил. Как я и говорил - дело в ключах и подключенных либах.

Автор: bsa 13.11.2007, 18:53
Цитата(kometa_75 @ 13.11.2007,  18:49)
А из чего видно, что я этого не знаю ? 
Вобщем проблему решил. Как я и говорил - дело в ключах и подключенных либах.

Вот в том то и дело, что ничего не видно. Даже код не привел. Вот и гадает каждый.

Автор: JackYF 13.11.2007, 19:14
Цитата(kometa_75 @  13.11.2007,  18:49 Найти цитируемый пост)
Вобщем проблему решил.

Значит помечай тему решённой.

Автор: kometa_75 14.11.2007, 09:37
Цитата(bsa @ 13.11.2007,  18:53)
Вот в том то и дело, что ничего не видно. Даже код не привел. Вот и гадает каждый.

Я конечно извиняюсь, но я думал просто все видели элементарный каркас Win32-приложения. К тому же я умышленно не приводил код т.к. уверен на 100% что дело не в нём. Как я и писал в первом посте - я просто не знал как настроить проект для этого типа приложений. 

Автор: Lazin 14.11.2007, 10:03
еще нужно библиотеки подключить, всякие там kernel32 user32 gdi32 и т.д.

Автор: kometa_75 14.11.2007, 10:22
Цитата(Lazin @ 14.11.2007,  10:03)
еще нужно библиотеки подключить, всякие там kernel32 user32 gdi32 и т.д.

Точно  smile 

Автор: Warchief 3.12.2007, 02:46
kometa_75, 


Расскажи пожалуйста, подробно,  как ты настроил eclips'у для работы с MinWG? У мну не получается  smile . Еклиса говорит:  
Код

(Exec error:Launching failed)


не компилится даже hello world.

Автор: FiMa1 3.12.2007, 09:10
Цитата(Warchief @ 3.12.2007,  02:46)
kometa_75, 
Расскажи пожалуйста, подробно,  как ты настроил eclips'у для работы с MinWG? У мну не получается  smile . Еклиса говорит:  
Код

(Exec error:Launching failed)

не компилится даже hello world.

Внимательно и до конца читай здесь http://forum.vingrad.ru/forum/topic-127350/kw-mingw-eclipse/hl/eclipse/index.html. Если не разберешься, задавай уточняющие вопросы, мне тогда это помогло.
Будь крайне внимателен к описанию процессу установки сторонних плагинов (в твоем случае, видимо, плагина cdt для работы с С/С++). Просто копировать/распаковывать скачанные плагины в папку Eclipse недостаточно. Нужно ставить через Help::Software Updates::Find and Install...

Автор: bugmenot1 29.5.2010, 15:28
Цитата

Вобщем проблему решил. Как я и говорил - дело в ключах и подключенных либах. 


Ну почему, ПО-ЧЕ-МУ вы не пишите решение проблемы, если вы решили ее самостоятельно? Вы же не последний кто с ней столкнулся!

Автор: bsa 27.11.2010, 11:09
bugmenot1, добавь в настройках компилятора и линкера ключ -mwindows

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)