powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Проблема с Eclipse (C, не C++!)
24 сообщений из 24, страница 1 из 1
Проблема с Eclipse (C, не C++!)
    #38305458
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
#include <windows.h>
#include <wchar.h>

int wmain(int argc, wchar_t **argv) 
{
    PDWORD cChars = NULL;
    HANDLE std = GetStdHandle(STD_OUTPUT_HANDLE);   
    
    if (std == INVALID_HANDLE_VALUE) {
        wprintf(L"Cannot retrieve standard output handle\n (%d)", 
            GetLastError());
    }
 
    WriteConsoleW(std, argv[1], wcslen(argv[1]), cChars, NULL);
 
    return EXIT_SUCCESS;
}



И вот, что на выходе:
**** Build of configuration Debug for project WinProg ****

**** Internal Builder is used for build ****
gcc -O0 -g3 -Wall -c -fmessage-length=0 -osrc\WinProg.o ..\src\WinProg.c
gcc -LC:\MinGW\include -oWinProg.exe src\WinProg.o
c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../libmingw32.a(main.o): In function `main':
C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to `WinMain@16'
collect2: выполнение ld завершилось с кодом возврата 1
Build error occurred, build is stopped
Time consumed: 819 ms.
Гугл не помогает толком, но насколько я понял, дело не в коде а в линкере
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305488
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело не в линкере, а в кое-чьей невнимательности.
wmain != main
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305490
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще, фигня у вас в коде.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
#include <stdio.h>

int main(int argc, char **argv) 
{
    printf(argv[1]);
 
    return 0;
}

Все.
Если ты пишешь под MinGW то стандартный поток вывода будет всегда. И аргументы к тебе будут приходить как char, а не так как ты пожелаешь.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305529
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

а что если нужно именно wmain, а не main? Нужно приложение именно с использованием WinApi
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305533
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301White Owl,

а что если нужно именно wmain, а не main? Нужно приложение именно с использованием WinApiНу и пиши с WinAPI. С чего ты решил что имя стартовой функции твоего приложения будет влиять на доступность системных библиотек???
Откуда ты взял wmain вообще?
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305540
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,
отсюда
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305558
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301White Owl,
отсюда Открой там страницу Introduction, и в первом же абзаце увидишь:
http://www.zetcode.com/gui/winapi/introduction/ The examples have been built using Pelles C compiler. If you plan to read this tutorial, you are advised to download and install this compiler. Понятия не имею что такое Pelles C, но это явно не MinGW.

ага... вижу. Ну да, там написано кое-что про wmain, _tmain and WinMain.... В общем забудь о первых двух. wmain это явно собственное расширение от Pelles C, а _tmain потребует внешнего WinSDK.

Если хочешь развлекаться полностью Windows-style, то WinMain в руки и вперед. Лишишься всех стандартных потоков и не сможешь наследовать консоль, зато это true-windows-way.
main - наследует консоль и все потоки на месте.
Полный доступ к WinAPI есть в любом случае.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305561
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl, да только уроки там не совсем правильно составлены. А вообще, можно ли найти документацию по c99 для WinAPI? А то на msdn только по C++
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305565
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301White Owl, да только уроки там не совсем правильно составлены. А вообще, можно ли найти документацию по c99 для WinAPI? А то на msdn только по C++Неправда. На MSDN только С. Потому что WinAPI это С.

Скажи конкретнее, что тебе нужно от WinAPI? Этот АПИ хоть и является базовым, но очень не удобен в реальной жизни. Поэтому для нормальной работы используются библиотеки поверх него. А прямые обращения делаются очень редко, для очень специфических задач.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305571
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlНеправда. На MSDN только С. Потому что WinAPI это С.
Не знаю, не нашел, те туториалы по программированию интерфейса под C++. А под C99 - нету, хотя да, WinAPI это Си.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305572
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
От WinAPI, в общем-то, ничего не нужно. Просто изучаю самые простые вещи создать окошко, кнопку и т.д. И что, нужно браться за GTK?
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305584
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301White Owl, да только уроки там не совсем правильно составлены. А вообще, можно ли найти документацию по c99 для WinAPI? А то на msdn только по C++

Неправда.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305597
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301White OwlНеправда. На MSDN только С. Потому что WinAPI это С.
Не знаю, не нашел, те туториалы по программированию интерфейса под C++. А под C99 - нету, хотя да, WinAPI это Си.Интерфейс намного проще делать в объектной парадигме чем в императивной.
В тоже время, далеко не все могут отличить объектное-ориентированное программирование от объектно-ориентрированного языка. Отсюда и идет что подавляющее большинство UI библиотек пишется на С++.


Prime301От WinAPI, в общем-то, ничего не нужно. Просто изучаю самые простые вещи создать окошко, кнопку и т.д. В WinAPI нету кнопок. Там есть только окошки. Просто у некоторых окошек рамочки такие, а у других окошек рамочки другие, а у третьих окошек рамочек вообще нет. Но все виджеты в виндах это окошки. А управляют этими окошками через колбек на родителе....
Так что о самых простых вещах можешь забыть. В чистом WinAPI писать можно, но далеко не просто.

Prime301И что, нужно браться за GTK?Если твоя цель писать пользовательские интерфейсы на С и не трогать С++, то да. GTK наилучший выбор на сегодня.
IUP может вырасти во вкусную штуку, но пока там много чего не хватает...
Photon была замечательной библиотекой, но ее в виндах нету.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305817
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlPrime301пропущено...

Не знаю, не нашел, те туториалы по программированию интерфейса под C++. А под C99 - нету, хотя да, WinAPI это Си.Интерфейс намного проще делать в объектной парадигме чем в императивной.
В тоже время, далеко не все могут отличить объектное-ориентированное программирование от объектно-ориентрированного языка. Отсюда и идет что подавляющее большинство UI библиотек пишется на С++.


Prime301От WinAPI, в общем-то, ничего не нужно. Просто изучаю самые простые вещи создать окошко, кнопку и т.д. В WinAPI нету кнопок. Там есть только окошки. Просто у некоторых окошек рамочки такие, а у других окошек рамочки другие, а у третьих окошек рамочек вообще нет. Но все виджеты в виндах это окошки. А управляют этими окошками через колбек на родителе....
Так что о самых простых вещах можешь забыть. В чистом WinAPI писать можно, но далеко не просто.

Prime301И что, нужно браться за GTK?Если твоя цель писать пользовательские интерфейсы на С и не трогать С++, то да. GTK наилучший выбор на сегодня.
IUP может вырасти во вкусную штуку, но пока там много чего не хватает...
Photon была замечательной библиотекой, но ее в виндах нету.

Я в курсе, что там только окошки] http://msdn.microsoft.com/en-us/library/windows/desktop/ff381403(v=vs.85).aspx , но дальше идет привязка этих окошек к классу] http://msdn.microsoft.com/en-us/library/windows/desktop/ff381397(v=vs.85).aspx , а классы это C++, а C++ мне не нужен.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305851
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301,

классы c++ не имеют ничего общего с классами окон Windows(как с классом млекопитающих например)
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305915
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,
Код: plaintext
1.
2.
3.
4.
5.
#include <gtk.h>

int main(){
	return 0;
}



И что на выходе:
**** Build of configuration Debug for project GTKSimple ****

**** Internal Builder is used for build ****
gcc -O0 -g3 -Wall -c -fmessage-length=0 -omainfile.o ..\mainfile.c
gcc -oGTKSimple.exe mainfile.o main.o
c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../libmingw32.a(main.o): In function `main':
C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to `WinMain@16'
collect2: выполнение ld завершилось с кодом возврата 1
Build error occurred, build is stopped
Time consumed: 307 ms.


И где же здесь reference to `WinMain@16'?
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305916
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил, спасибо, буду внимательнее читать документацию
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38305922
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, извиняюсь, надо было файл сохранять. Правда, теперь он gtk.h не видит
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38306681
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301 а классы это C++, а C++ мне не нужен.Процитирую сам себя:
далеко не все могут отличить объектное-ориентированное программирование от объектно-ориентрированного языка.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38306697
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlPrime301 а классы это C++, а C++ мне не нужен.Процитирую сам себя:
далеко не все могут отличить объектное-ориентированное программирование от объектно-ориентрированного языка.
Согласен, но туториалы на MSDN именно под C++. Конечно, скорее всего они будут применимы и к C. Но я, будучи новичком, могу не знать каких-либо тонкостей
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38306746
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301туториалы на MSDN именно под C++.Показывай.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38306769
Prime301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlPrime301туториалы на MSDN именно под C++.Показывай.
Показываю
А теперь вы покажите мне хоть один туториал по GUI под C на MSDN
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38306785
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301White Owlпропущено...
Показывай.
Показываю
А теперь вы покажите мне хоть один туториал по GUI под C на MSDNВот этот туториал и есть С. Там нету ни капли С++.
Да, в заголовке страницы написано С++, и в тексте где пишут про "создайте проект, создайте файл" говорят о С++, но это потому что в MSVS "нету" С компилятора, зато есть С++.
Если ты возмешь этот текст как есть, положишь его в GT_HelloWorldWin32.c вместо GT_HelloWorldWin32.cpp и откомпилируешь в VSMS то разницы не увидишь. Ну разве что набор предупреждений о небезопасной конвертации типов будет разный.
...
Рейтинг: 0 / 0
Проблема с Eclipse (C, не C++!)
    #38306885
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prime301,

ну пиши на OpenGL, ++ точно не будет
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Проблема с Eclipse (C, не C++!)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]