J'essaye de construire une application de console sans utiliser le CRT, ou d'autres importations que kernel32.lib dans tous les cas. Je reçois mon code pour compiler, mais ne peut pas envelopper l'éditeur de liens autour de quelques problèmes:Création d'applications de console sans CRT et en-têtes par défaut?
unresolved external symbol @[email protected]
unresolved external symbol "int __cdecl FreeLibrary(void *)" ([email protected]@[email protected])
unresolved external symbol "void * __cdecl LoadLibraryW(wchar_t *)" ([email protected]@[email protected])
unresolved external symbol "int (__cdecl*__cdecl GetProcAddress(void *,char *))(void)" ([email protected]@[email protected])
unresolved external symbol _wmainCRTStartup
FreeLibrary, LoadLibraryW et GetProcAddress je l'ai amené à programmer explicitement, ne pas utiliser windows.h:
#pragma comment(lib, "kernel32.lib")
typedef int(*FARPROC)();
void* LoadLibraryW(wchar_t* lpLibFileName);
FARPROC GetProcAddress(void* hModule, char* lpProcName);
int FreeLibrary(void* hLibModule);
Je suppose que quelque chose ne va pas avec mes prototypes. Cependant, le plus gros problème sont __security_check_cookie
et _wmainCRTStartup
, qui ont évidemment quelque chose à voir avec le CRT. Donc, je me demande comment je pourrais contourner la valeur par défaut int wmain(int argc, wchar_t* argv[])
pour entrypoint, et comment se débarrasser de ce que le cookie de sécurité est.
En fait, je les ai déjà essayés en tant que stdcall, et cela n'a pas résolu le problème. – anon6439