0

我在 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 文件使用自定义构建步骤并停止整个构建过程。可能,绝对路径存在一些问题,但我第二天找不到它:(

4

2 回答 2

1

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

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

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

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

于 2012-04-17T09:10:14.143 回答
0

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

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

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