Portál AbcLinuxu, 12. května 2025 12:37

Dotaz: C++ undefined reference to `WinMain@16'

4.6.2009 13:03 Dušan Renát | skóre: 4
C++ undefined reference to `WinMain@16'
Přečteno: 1542×
Odpovědět | Admin
Založím na to novou otázku, protože s původní (nejspíš) až tak moc nesouvisí. Program na linuxu funguje bez problémů, při pokusu ho přeložit (resp. slinkovat) na Windows (MinGW) vyhodí hlášku:
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `WinMain@16'
Různé diskuze radily, že to znamená neexistující funkci main (což by dávalo smysl). Program obsahuje funkci main v následujícím tvaru:
int main(int argc, char * argv[])
v souboru main.cpp, který je přeložen g++ a výsledný .o je určitě linkován k programu.

Jak zařídit, aby se to poznalo jako začátek programu?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.6.2009 13:31 deadmail
Rozbalit Rozbalit vše Re: C++ undefined reference to `WinMain@16'
Odpovědět | | Sbalit | Link | Blokovat | Admin
podla povodnej otazky sa tam pouziva SDL, je tam aj prilinkovana kniznica SDL?
g++ -lSDLmain -lSDL ...
4.6.2009 13:34 deadmail
Rozbalit Rozbalit vše Re: C++ undefined reference to `WinMain@16'
alebo skuste [SDL FAQ]
12.2.2010 21:59 metac_kozelcu
Rozbalit Rozbalit vše Re: C++ undefined reference to `WinMain@16'
Odpovědět | | Sbalit | Link | Blokovat | Admin
jestli se jedná o SDL tak tam se mi tento problém vyřešil změnou pořadí linkování jednotlivých knihoven

v tomto pořadí mi to přestalo tuto hlášku házet...

-lmingw32 -lSDLmain -lSDL

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.