我想在不使用CRT的情况下构建控制台应用程序,或者在任何情况下都不使用kernel32.lib以外的任何其他导入。我让我的代码编译,但不能环绕的几个问题链接:建立控制台应用程序没有CRT&默认标题?
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和GetProcAddress我带来的明确程序,而不是使用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);
我想我的原型有些问题。 但是,更大的问题是__security_check_cookie
和_wmainCRTStartup
,这显然与CRT有关。 所以我想知道如何重写入口点的默认int wmain(int argc, wchar_t* argv[])
以及如何摆脱安全cookie。
其实我已经试过它们作为stdcalls,它并没有解决问题。 – anon6439 2008-11-20 12:31:56