2012-09-27 3 views
1

J'essaie de mettre principal (WinMain) dans la bibliothèque statique:_tWinMain dans lib LNK2019 statique

#include <tchar.h> 
#include <Windows.h> 

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
LPTSTR lpCmdLine, int nCmdShow) {...} 

mais je suis:

MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function ___tmainCRTStartup 

j'ai essayé de construire comme "Unicode", et comme « Multi -octet".

J'ai essayé d'écrire sans "_t" (et LPSTR).

J'ai essayé d'écrire extern "C".

drapeaux Linker comprennent /SUBSYSTEM:WINDOWS et ma lib statique

Je sais qu'il est possible, parce qu'il est fait dans les bibliothèques comme SDL, SFML, etc.

+1

vous devez le déclarer comme 'extern' C "'. Je ne sais pas si c'est suffisant mais c'est nécessaire (d'après l'inspection du nom mutilé). si vous souhaitez que votre bibliothèque prenne en charge la compilation Unicode en Unicode. –

Répondre

0

Votre problème est que la fonction dans le répertoire lib est appelé _ tWinMain.

Il suffit d'appeler WinMain et vous êtes prêt à partir.

+0

Merci! Maintenant ('extern 'C" int APIENTRY WinMain') compiler à la fois "Unicode", et "Multi-byte" mode. – Ivan

Questions connexes