1、在项目属性中修改:在共享 DLL 中使用 MFC
2、winMain定义形式要和MFC入口函数(_tWinMain)一样
如以下程序欲使用MFC的TRACE0函数。
#include <afx.h>
#include <stdio.h>
#include <tchar.h>
#pragma warning( disable : 4996) //去除_vsntprintf不安全错误
int MessageBoxPrint(TCHAR* format, ...)
{
TCHAR buf[1024];
va_list pArglist;
va_start(pArglist, format);
_vsntprintf(buf, 1024, format, pArglist);
va_end(pArglist);
MessageBox(NULL, buf, L"fight", 0);
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
int x, y;
x = GetSystemMetrics(SM_CXSCREEN);
y = GetSystemMetrics(SM_CYSCREEN);
MessageBoxPrint(L"Screen size %d, height: %d", x, y);
TRACE0("\nyou are smart boy\n");
return 0;
}
程序错误。将:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) 改为: int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,_In_ LPTSTR lpCmdLine, int nCmdShow) 问题解决!!!!