【问题标题】:Qt with Visual Studio - cannot compile moved project带有 Visual Studio 的 Qt - 无法编译移动的项目
【发布时间】:2012-04-16 21:22:32
【问题描述】:

我在 Visual Studio 2010 上有一个项目,它使用与 Qt 4.8 的集成、一些增强功能以​​及所有这些东西都使用 SVN 进行版本控制。

一切都很好:我将解决方案文件夹从一个地方移动到另一个地方,在不同的计算机上编译它。 但是一旦我重命名了解决方案文件夹,并且当我尝试构建项目时 - 编译器只写了一个错误:

Error   1   error MSB6006: "cmd.exe" exited with code 1.    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets   151

但是当我返回旧解决方案文件夹的名称时 - 一切都会再次构建而没有任何错误!

正如我所想,编译器不能对 *.ui 文件使用自定义构建步骤并停止整个构建过程。 可能绝对路径存在一些问题,但第二天我找不到它:(

【问题讨论】:

    标签: qt visual-c++ boost msbuild visual-studio-2010


    【解决方案1】:

    正如经常发生的那样,答案就隐藏在地上。

    在观察构建输出时,我得到了这样的行:

    1>  Uic'ing frmserver.ui...
    1>  File 'C:\Users\Theurgist\Desktop\JamServer (?????)\JamServer\frmserver.ui' is not valid
    

    这个问题完全是因为 Qt 编译器工具无法正确使用包含 unicode 的路径(至少到 4.8 版)

    【讨论】:

      【解决方案2】:

      在您的 .sln 文件或 .vcxproj 文件中必须有一些对旧文件夹位置的引用。

      您应该能够通过以下方式解决此问题:

      • 关闭 Visual Studio
      • 在您选择的文本编辑器中打开您的 .sln 文件及其加载的所有 .vcproj 文件
      • 对旧文件夹名称进行搜索和替换,将其更改为新文件夹名称。

      【讨论】:

      • 这些文件中的所有内容都没有问题。问题隐藏在包含 unicode 的路径中(不知道我怎么会错过 =_=)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      • 2016-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多