【问题标题】:How to build wxWidgets 2.9.1 with Visual Studio 2010?如何使用 Visual Studio 2010 构建 wxWidgets 2.9.1?
【发布时间】:2011-08-17 10:14:11
【问题描述】:

我有一个新下载的 Visual Studio C++ 2010 Express 和 wxWidgets 2.9.1。 wx\build\msw 下的 build 文件夹包含 VC++ 版本 6 到 9 (2008) 的解决方案文件。

我尝试打开最新的解决方案 wx_vc9.sln。它用一堆警告转换了所有项目。当我尝试构建每个项目时都会出现错误:

C:\程序文件 (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): 错误 MSB6001:无效的命令行 切换“cmd.exe”。路径不是 法律形式。

尝试打开以前版本的解决方案 wx_vc8.sln,会生成相同的转换警告和相同的构建错误。

我在 Google 上搜索了一些提示,并找到了从 .dsw 文件开始的建议。我打开了 wx.dsw,它为每个项目文件生成了一个错误:

D:\3rdParty\wx\build\msw\wx_wxregex.dsp : error : 项目升级失败。

最后我绝望地尝试了nmake /f makefile.vc,但又遇到了另一个错误:

NMAKE : 致命错误 U1077: 'cl' : 返回码'0xc0000135'

有人有什么提示吗?谢谢。

【问题讨论】:

    标签: visual-studio-2010 wxwidgets


    【解决方案1】:

    使用 wx.dsw,我花了一段时间才终于得到它,但之后它会构建得很好。我还建议使用示例项目之一,例如“最小”作为基础,并修复所有配置路径以匹配您想要构建的内容(因为手动设置我遇到了问题)。

    如果您已经使用过 wx_vc9(就像您说的那样),您最好删除所有 wx 并重新启动它,然后像我上面所说的那样使用 wx.dsw。

    【讨论】:

    • 按照您的建议,我尝试删除所有内容并重新开始。每个 .dsp 文件仍然出现错误 - Project upgrade failed. 我相信最近有一个 Visual Studio 服务包可能会有所作为。
    【解决方案2】:

    有两种方法可以解决这个问题,首先,如果您更新到更新版本的 wxWidgets SVN 主干,则此问题已修复(因此在 2.9.2 发布时将修复此问题)。如果您不想从等待 2.9.2 的主干中工作,那么如果您对所有 .vcxproj 文件进行查找和替换并替换

    >$(INTDIR) $(OUTDIR);%(附加输入)

    >%(完整路径);%(附加输入)

    它应该可以正常编译。

    【讨论】:

    • 进行了编辑。收到很多警告,但没有错误!谢谢!
    【解决方案3】:

    为了以后的参考,相信我的人,避免所有废话并启动您的 Visual Studio 2010 命令提示符并导航到 [wxwidgets 目录]\build\msw 然后使用 makefile 和以下命令进行编译:

    nmake -f makefile.vc BUILD=release MONOLITHIC=0 SHARED=0 UNICODE=1

    当然可以根据需要更改选项。 这样你会省去很多麻烦,我就是这样做的。

    【讨论】:

      【解决方案4】:

      使用 Visual C++ 2010 Express 和 wxWidgets 2.9.3 进行编译的关键是不断按 F7 一次又一次.... 直到您在下方看到“0 失败”消息。因为很多项目的依赖关系都不能立即满足,所以需要一直用'F7'编译直到全部满足为止。

      下载 wxWidgets。我下载了 .7-Zip 文件(只有 12 MB !),并将其安装在 C:\wxWidgets 结构应该是这样的,以便您看到以下文件夹,如 C:\wxWidgets\lib 和 C:\wxWidgets\build 等等等……

      基本上这个过程应该是去 C:\wxWidgets\build\msw ,打开 VC-2008 的 wx_vc9 解决方案文件,并在询问时将其转换为 VC-2010。然后选择顶部的“DLL-Release Win32”,然后按 F7。等待编译发生并查看消息。然后一直按 F7 一次又一次,直到您在下面收到“0 失败”消息。然后你会想以同样的方式编译“DLL-Debug”版本。

      然后可以在 C:\wxWidgets\lib\vc_dll 中找到已编译的 DLL 文件。现在,要将 vc_dll 文件夹添加到您的 PATH,请右键单击我的计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> 用户变量。搜索“路径”->“编辑”,然后将 ;C:\wxWidgets\lib\vc_dll 添加到末尾。

      这使得运行已编译的应用程序更容易,因为您的 .EXE 现在可以轻松找到 DLL。 打包时,显然需要捆绑特定的 Release-DLL。

      然后您可以编译位于 C:\wxWidgets\samples 的示例。 我只是去单个项目文件夹,例如C:\wxWidgets\samples\drawing,并打开drawing_vc9项目,然后将其转换为提示,然后按F7创建发布版本。现在,如果您进入 C:\wxWidgets\samples\drawing\vc_mswudll\ 文件夹,您的“drawing.exe”就可以运行了!

      玩得开心!

      【讨论】:

        猜你喜欢
        • 2012-05-27
        • 1970-01-01
        • 2011-05-12
        • 2011-04-08
        • 2011-02-05
        • 2023-03-22
        • 2013-12-09
        • 1970-01-01
        • 2012-12-25
        相关资源
        最近更新 更多