链接器工具在配置和构建wxWidgets Visual Studio 2017时发生错误

问题描述 投票:0回答:1

无法在Visual Studio 2017中配置wxwidgets。

遵循这些步骤。

  • 从wxwidgets网站下载了源代码“ Windows 7Z”文件,版本3.1.3。
  • 在Visual Studio 2017中从wx_vc15.sln中运行build-> msw
  • 使用平台Debub成功构建DLL DebugDLL ReleaseRelesex86

Microsoft Visual Studio 17 V15.9.20中,创建了一个空项目。添加了simple wxWidgets程序。

project properties中进行了以下更改-在带有平台All ConfigurationsWin32中,将Configuration Properties-> Character Set设置为Use Unicode Character Set

  • C/C++-> Additional Include Directories-> $(WXWIN)\include\msvc;$(WXWIN)\include;
  • C/C++-> Preprocessor-> Preprocessor Defenitions-> __WXMSW__;WXUSINGDLL;_DEBUG
  • Linker-> Additional Library Directories-> $(WXWIN)\lib\vc_dll

Environment Variables中进行了这些更改

  • User variables
    • 添加新变量WXWIN,并将其值设置为C:\Users\varun\Desktop\workspace\wxWidgets-3.1.3
    • 路径-> C:\Users\varun\Desktop\workspace\wxWidgets-3.1.3\lib\vc_dll

在项目属性Release配置中,进行了以下更改C/C++-> Preprocessor-> Preprocessor Defenitions-> __WXMSW__;WXUSINGDLL;NDEBUG;

没有代码错误,但Linker Tools Error

Error (active)  E1097   unknown attribute "no_init_all" WxWidgets_Application_5 C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\winnt.h  

Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) WxWidgets_Application_3 C:\Users\varun\Desktop\workspace\visual_studio_projects_2017\WxWidgets_Application_3\WxWidgets_Application_3\MSVCRTD.lib(exe_main.obj)

Error LNK1120 1 unresolved externals WxWidgets_Application_3 C:\Users\varun\Desktop\workspace\visual_studio_projects_2017\WxWidgets_Application_3\Debug\WxWidgets_Application_3.exe 

可能出了什么问题?

c++ visual-studio-2017 linker wxwidgets linker-errors
1个回答
0
投票
中运行wx_vc15.sln

您显示的第一个错误根本不是错误,而只是一些IntelliSense噪声,请参阅此bug report。真正的错误是无法找到_main,它似乎表明您正在构建控制台应用程序(请参阅Properties\Linker\System\SubSystem选项),因此应通过使其成为Windows应用程序来解决此问题。

而且,虽然我看不到您的设置有任何真正的问题,但我仍然建议您使用official instructions。特别是在您的情况下,它应该很简单:

如果使用MSVS 2010或更高版本的IDE来构建项目,只需使用wxWidgets将wxwidgets.props属性表添加到(所有)项目中。您无需执行其他任何操作。

© www.soinside.com 2019 - 2024. All rights reserved.