Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++][WinAPI] Czy MinGW "nie zna" wWinMain?

Ostatnio zmodyfikowano 2016-11-24 14:56
Autor Wiadomość
kmlkamilek
Temat założony przez niniejszego użytkownika
[C++][WinAPI] Czy MinGW "nie zna" wWinMain?
» 2016-11-21 21:14:16
Mam mały kod, który używa funkcji wWinMain jako punktu wejscia. Przed dołączeniem nagłówka Windows.h, mam zdefiniowane makro _UNICODE. Mimo to linker wyrzuca mi błąd:


c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status

Używam najnowszej wersji MinGW g++ 5.3.0.

PS: Podczas linkowania używam opcji -mwindows.
P-153998
Gibas11
» 2016-11-21 21:44:21
Podobno tak, użyj samego WinMain i powinno zadziałać.
P-153999
Elaine
» 2016-11-22 01:32:42
Potrzebujesz -municode przy linkowaniu.
P-154003
Gibas11
» 2016-11-22 06:35:26
@up O ile nie ma jakiejś prehistorycznej wersji MinGW, co zdarza się zaskakująco często.
IMHO na Windowsie lepiej użyć msvc i mieć problem z głowy, bo na MinGW co chwilę coś nie działa.
P-154006
kmlkamilek
Temat założony przez niniejszego użytkownika
» 2016-11-23 18:00:30
@Alueril - też o tym znalazłem, ale u mnie MinGW nie zna tej flagi, mimo że jest to rzekomo najnowsza wersja. :/
@Gibas11 - do msvc nic nie mam, ale wolę, żeby kod był natywny, niezależny od frameworków microsoftu.

Użyłem WinMain dla ANSI i działa.
Temat zostawię otwarty, może ktoś dorzuci jakieś ciekawe 3 grosze.
P-154048
j23
» 2016-11-23 18:29:13
@kmlkamilek, używanie VC++ nie wymusza korzystania z frameworków microsoftu. Jeśli nie chcesz .NET-a i kodu zarządzanego, możesz rzeźbić w czystym C++ i WinAPI.
P-154054
kmlkamilek
Temat założony przez niniejszego użytkownika
» 2016-11-23 21:40:52

Nie zagłębiałem się zbytnio w właściwości VS 15, czy ten mały myczek nie spowoduje uzależnienia apki od frameworków? Nie ma tam możliwości wyboru projektu bez .net.
P-154063
j23
» 2016-11-24 14:56:11
To nie ma znaczenia, jeśli nie będziesz korzystał ze wparcia środowiska uruchomieniowego dla .NET-a (C++/CLI).
P-154079
« 1 »
  Strona 1 z 1