错误:错误1错误LNK2019:函数___tmainCRTStartup中引用的未解析的外部符号_WinMain @ 16

时间:2014-10-02 06:39:19

标签: c++ error-handling linker-errors

如何解决此错误:

Error 1 error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup 

我还定义了cai.cpp中的所有函数。但是由于代码行太多,我没有上传它。我确实将.h文件包含在cai.cpp中。我对这个错误的问题感到困惑。

main.cpp文件

#include "cai.h"

int main()
{
    CAI test;
    test.StartTest();

}

cai.h文件

class CAI
{
public:

    void StartTest();
    bool AskRandomMultiplicationQuestion();
    bool AskRandomDivisioQuestion();


private:
    void PrintRandomGoodJob();
    void PrintRandomEncouragementMessage();
    int ChooseRandomNumber();
    void PrintTestSummary(int, int, int);

};

2 个答案:

答案 0 :(得分:5)

将子系统设置为控制台而不是窗口,或添加winmain功能作为入口点。

请参阅:http://msdn.microsoft.com/en-us/library/fcc1zstk.aspx

difference between Console (/SUBSYSTEM:CONSOLE) and Windows (/SUBSYSTEM:WINDOWS)

答案 1 :(得分:3)

此错误

Error 1 error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

表示您正在编译Windows exe,而不是控制台exe,并且您希望提供WinMain。链接器无法找到它的实现,因此它会尖叫出错误。

如果要在创建后更改项目,请在项目添加到解决方案时或在设置(工具>选项>链接器>系统>子系统)中选择项目类型(Windows或控制台)。