0
我創建了一個win32控制檯應用程序(沒有啓用預編譯頭選項)。 現在我的源代碼是這樣的,有兩個編譯器錯誤。VS2005中的基本Windows編程問題
// AFormattingMsgBox.cpp : Defines the entry point for the console application.
//
#include <windows.h>
#include "stdafx.h"
//int _tmain(int argc, _TCHAR* argv[])
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
int cxScreen, cyScreen;
cxScreen = GetSystemMetrics(SM_CXSCREEN);
cyScreen = GetSystemMetrics(SM_CYSCREEN);
MessageBoxPrintf(TEXT("ScrnSize"), TEXT("The screen is %i pixels wide by %i pixels high."), cxScreen, cyScreen);
return 0;
}
int CDECL MessageBoxPrintf(TCHAR * szCaption, TCHAR * szFormat, int x, int y)
{
TCHAR szBuffer [1024];
va_list pArgList;
va_start(pArgList, szFormat);
_vsntprintf(szBuffer, sizeof(szBuffer)/sizeof(TCHAR),
szFormat, pArgList);
va_end(pArgList);
return MessageBox(NULL, szBuffer, szCaption, 0);
}
編譯器錯誤。
error C3861: 'MessageBoxPrintf': identifier not found
error C2365: 'MessageBoxPrintf' : redefinition; previous definition was 'formerly unknown identifier
我該如何解決這些錯誤。感謝您的閱讀和答覆。
其次您的建議,但仍顯示鏈接錯誤:*錯誤LNK2019:在函數解析的外部符號_main引用___ tmainCRTStartup * –
然後,我改變了'INT APIENTRY的WinMain(。 ..)'到'int _tmain(...)'。它現在有效。謝謝。 –