我用 C++ 和 wxwidgets 创建了我的第一个程序。
当我尝试编译项目时,出现错误。
LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)
LNK1120 1 unresolved externals
我已经在 Visual Studio 中编译了自己的 wxwidgets。
编译后,我在 Visual Studio 中创建了一个新的 C++ 空项目。
我去配置并添加了包含目录:
配置属性 -> C/C++ -> 常规 -> 附加包含目录:
C:\Users\user\source\repos\wxWidgets\include; C:\Users\user\source\repos\wxWidgets\include\msvc
配置属性 -> 链接器 -> 附加库目录:
C:\Users\user\source\repos\wxWidgets\lib\vc_lib
然后我添加了 2 个类,cApp 和 cMain。
cApp.h
#pragma once
#include "wx/wx.h"
#include "cMain.h"
class cApp : public wxApp
{
public:
cApp();
~cApp();
private:
cMain* m_frame1 = nullptr;
public:
virtual bool OnInit();
};
cApp.cpp
#include "cApp.h"
wxIMPLEMENT_APP(cApp);
cApp::cApp() {
}
cApp::~cApp() {
}
bool cApp::OnInit() {
m_frame1 = new cMain();
m_frame1->Show();
return true;
}
cMain.h
#pragma once
#include "wx/wx.h"
class cMain : public wxFrame
{
public:
cMain();
~cMain();
};
cMain.cpp
#include "cMain.h"
cMain::cMain() : wxFrame(nullptr, wxID_ANY, "MyProgram") {
}
cMain::~cMain() {
}
最佳答案
您有 2 个问题(由于下面的评论在编辑后)以下问题:
wxIMPLEMENT_APP(cApp);
宏。同样,完全有可能避免它,但这可能不是您的目标,因此只需添加此行。该宏用于为您的应用程序定义 main
或 WinMain
,具体取决于平台。 关于c++ - Visual Studio 中的 wxwidgets 应用程序给出错误 "LNK2019 unresolved external symbol",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59848356/