开始使用wxWidgets和VisualStudio

时间:2016-10-13 17:42:21

标签: visual-studio visual-studio-2015 wxwidgets

我想在Windows 7上使用visual studio和wxWidgets构建C ++桌面应用程序。我来自C ++ Builder。

我成功下载并构建了wxWidgets库,我可以正常运行minimal_vc14解决方案。现在是时候创建我的Hello World应用程序了。我创建了一个新的空C ++项目,并使用NuGet添加了wxWidgets模板。然后我使用类向导添加一个新类(Test3),其基类为wxApp。

我立即得到45个错误。第一个是

Severity    Code    Description Project File    Line    Suppression State
Error (active)      cannot open source file "../../../lib/vc_dll/mswud/wx/setup.h"  Test3   c:\wxWidgets-3.1.0\include\msvc\wx\setup.h  121 

深入研究该文件,我发现以下内容。最后一个include语句是上面提到的问题行,但我认为问题出在wxConcat6语句中。所有这些......都无处可去。不应该指向$(WXWIN)?

// the real setup.h header file we need is in the build-specific directory,
// construct the path to it
#ifdef wxSUFFIX
    #define wxSETUPH_PATH \
        wxCONCAT6(../../../lib/, wxLIB_SUBDIR, /, wxTOOLKIT_PREFIX, wxSUFFIX, /wx/setup.h)
#else // suffix is empty
    #define wxSETUPH_PATH \
        wxCONCAT5(../../../lib/, wxLIB_SUBDIR, /, wxTOOLKIT_PREFIX, /wx/setup.h)
#endif

#define wxSETUPH_PATH_STR wxSTRINGIZE(wxSETUPH_PATH)

#include wxSETUPH_PATH_STR

此外,较小的问题,但在setup.h文件中,我看到WXUSINGDLL已经定义,但我想使用libs。我无法弄清楚那里的设置。

显然,我错过了某个配置步骤。请指教。

2 个答案:

答案 0 :(得分:2)

像往常一样,通过阅读一切可以找到答案。

需要配置两件事才能让此流程正常运行。

  1. 创建项目后,转到项目属性并将字符集设置为Unicode。默认值为“多字节”。我的下一个任务是找到更改默认值的位置!
  2. 安装软件包模板(或者是模板软件包?)后,转到项目属性并将共享设置为“静态链接构建”。
  3. enter image description here

    1. Presto changeo,你准备好了。添加以下绝对最小值以生成可编译的应用程序。这基于此处的教程:creating-wxwidgets-programs-with-visual-studio-2015

      bool MyProjectApp::OnInit()
      {
          wxFrame* mainFrame = new wxFrame(nullptr, wxID_ANY, L"MyProject");
          mainFrame->Show(true);
          return true;
      }
      wxIMPLEMENT_APP(MyProjectApp);
      

答案 1 :(得分:0)

我建议您在同一位置复制minimal示例(或widgets,因为它使用更多控件并链接更多库),并根据需要修改源文件。< / p>

当你玩够了它时,你肯定会发现更改项目文件非常容易,因此它会使用$(WXWIN)或任何其他自定义设置。

P.S。我不知道NuGet中的“wxWidgets模板”包含什么,但我强烈怀疑它是由wxWidgets维护者提供的。