在Visual Studio 2022编译wxWidgets程序成功却无exe文件求助
wxWidgets项目编译成功但无EXE文件的排查方案
检查VS项目输出路径设置
右键项目 → 属性 → 配置属性 → 常规 → 输出目录,确认路径是否和你查找的一致。有时会设置到相对路径外的位置,比如$(SolutionDir)$(Platform)\$(Configuration)\,直接复制这个路径到文件资源管理器打开查看。
同时查看链接器 → 常规 → 输出文件,确认文件名格式正确,默认应为$(OutDir)$(TargetName)$(TargetExt)。确认wxWidgets配置与项目平台匹配
确保编译wxWidgets时用的是x64平台,且编译的Release/Debug版本和当前项目配置一致。如果wxWidgets只编译了x64 Debug版本,而项目用Release模式编译,可能导致输出异常。查看VS输出窗口的完整路径
编译完成后,切换到输出窗口(菜单 → 视图 → 输出),找到生成完成后的日志,里面会有EXE文件的完整路径,直接复制路径去查找即可。强制重新编译项目
右键项目 → 属性 → 配置属性 → C/C++ → 常规 → 增量编译,设置为否(/Gd);然后选择生成 → 重新生成解决方案,强制重新编译所有文件,避免增量编译缓存导致的问题。排查杀毒软件拦截
部分杀毒软件可能会误判生成的EXE为病毒并隔离,检查杀毒软件的隔离区或临时文件目录,确认是否有被拦截的程序。
项目代码
#include <wx/wx.h> class MyApp : public wxApp { public: virtual bool OnInit(); }; class MyFrame : public wxFrame { public: MyFrame(const wxString& title); }; bool MyApp::OnInit() { MyFrame* frame = new MyFrame("My App"); frame->Show(true); return true; } MyFrame::MyFrame(const wxString& title) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(300, 200)) { // Here I can add controls to the application } wxIMPLEMENT_APP(MyApp);
内容的提问来源于stack exchange,提问作者bozorgmehr
相关产品推荐
相关产品推荐

