【问题标题】:Linker Tools Error while configured and build wxWidgets Visual Studio 2017配置和构建 wxWidgets Visual Studio 2017 时出现链接器工具错误
【发布时间】:2020-03-15 09:03:40
【问题描述】:

无法在 Visual Studio 2017 中配置 wxwidgets。

按照这些步骤操作。

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

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

project properties 中进行了以下更改 - 在All Configurations 和平台Win32 中,将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】:

    您显示的第一个错误根本不是错误,而只是一些 IntelliSense 噪音,请参阅bug report。真正的错误是找不到_main,这似乎表明您正在构建一个控制台应用程序(请参阅Properties\Linker\System\SubSystem 选项),因此应该通过将其改为Windows 应用程序来修复它。

    此外,虽然我看不出您的设置有什么问题,但我仍然建议您改用 official instructions。值得注意的是,在您的情况下,它应该很简单:

    如果您使用 MSVS 2010 或更高版本的 IDE 构建您的项目,只需使用 wxWidgets 将wxwidgets.props 属性表添加到您的(所有)项目。你不需要做任何其他事情。

    【讨论】:

    • (请参阅 Properties\Linker\System\SubSystem 选项),因此应该通过将其改为 Windows 应用程序来修复它。 这解决了问题。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多