2011-07-21 43 views
2

我使用Dropbox在多台计算机(work/home)上使用相同的Visual Studio项目在两台计算机之间进行同步。因为VS创造一些额外的大文件,我用上传到Dropbox的前删除以下:Qt - Visual Studio - 在多台计算机上使用项目

  • 文件= .PDB,自卫队,.ilk .exe文件的.tmp
  • 文件夹= IPCH /,发布/,调试/,GeneratedFiles/

过去一切正常,但现在有些问题已经出现。 我收到以下错误:

Moc'ing CodeInterface.h... 
1> The system cannot find the path specified. 
1> Moc'ing ThreadWorker.h... 
1> The system cannot find the path specified. 
1> Rcc'ing StreamAnalyser.qrc... 
1> The system cannot find the path specified. 
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 3. 

所以,我想我可能需要手动创建一个新的Visual Studio项目,并导入类。所以我的问题是:

  • 在不同的计算机上处​​理项目的最佳做法?
  • 哪些文件可以删除(用于上传到Dropbox)?
  • Visual Studio是否具有某种'全局设置'(或类似于用于Eclipse的“工作空间”)?如何设置这些设置以防止在不同计算机上工作时出现问题?

谢谢!

+0

我在两台机器上都使用Visual Studio 2010。 – nf313743

回答

3

我不熟悉的Dropbox,所以我不能为你做什么目前

什么我喜欢做的是使用分布式版本控制系统(我用git)只有源代码之后看说话。我使用.gitignore文件来不版本任何对象代码和Visual Studio项目文件等。然后,我可以轻松地将这些项目(使用他们的版本)克隆到任何我喜欢的计算机上 - 包括测试分支,当我在笔记本电脑上回到火车上时,我可能会空闲地玩这些分支。

以我的经验Visual Studio项目文件是一种痛苦,因为不同的版本不海誓山盟发挥很好(1台电脑有VS2005和另一个有VS2008)。为了克服这个问题,我喜欢使用cmake作为我的构建系统(我也将它们包含在我的git存储库中)。 Cmake是一个'元构建系统',它为您生成visual studio,or eclipse或autotools make文件,然后在VS或Eclipse或make中执行本地构建。

一起使用这两个软件包意味着您可以在任何计算机(包括linux,mac和windows)之间正确复制受版本控制的源代码,然后使用该计算机上已安装的任何IDE,在该计算机上原生构建源代码。

+0

我在连接到QT时遇到过同样的错误。你能否告诉我如何解决这个问题,因为我非常急于解决这个错误?我在这里发布了一个问题http://stackoverflow.com/questions/15378407/error-msb6006-cmd-exe-exited-with-code-3很多谢谢汤姆 – Tak

1

我会建议你使用svnanksvn。 Subversion的构建是为了管理在不同的计算机上工作,并且具有版本控制1的额外好处。

3

“MOC”是一个Qt的可执行文件,前处理.h文件。它由MSVS构建系统调用。但是,如果它会丢失,你会得到“系统找不到指定的路径。” “Moc'ing CodeInterface.h”后发生错误。因此

我敢打赌,MSVS无法找到你的Qt的实现。我并不完全感到惊讶; Qt4构建系统及其与MSVS的集成在最近尝试安装时并没有让我感到非常可靠。

1

在你的情况下,你可能会删除文件,但不是目录,即GeneratedFiles\Debug\Release应该留下。如果你看看你的h文件,他们会做自定义构建步骤,并且在那些事件中没有路径检查代码。

"$(QTDIR)\bin\moc.exe" -DQT_NO_QT_INCLUDE_WARN -DUNICODE -DWIN32 -DQT_THREAD_SUPPORT -DQT_CORE_LIB -DQT_NETWORK_LIB -DJSBRIDGEAPI_LIB -D_WINDLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I".\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtWebKit\." ".\apisignalemitter.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_apisignalemitter.cpp" 

因此 - 添加目录.\GeneratedFiles\$(ConfigurationName)\可能会解决您的问题。 另外,检查是否定义了$(QTDIR)。

UPD - 确保你已经QT安装在两台机器在一些地方

0

我通常使用SVN版本控制和项目设置的QMAKE亲文件。您可以使用qmake从pro文件创建Visual Studio项目文件并使用Visual Studio,或者在Windows,Linux和Mac上创建Makefiles和其他项目文件,因此它是一个相当便携的解决方案。

相关问题