Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt-Visual Studio-在多台计算机上处理项目_C++_Visual Studio 2010_Qt - Fatal编程技术网

C++ Qt-Visual Studio-在多台计算机上处理项目

C++ Qt-Visual Studio-在多台计算机上处理项目,c++,visual-studio-2010,qt,C++,Visual Studio 2010,Qt,我在多台计算机(工作/家庭)上使用相同的VisualStudio项目,使用Dropbox在这两台计算机之间进行同步。因为VS会创建一些超大文件,所以我在上传到Dropbox之前会删除以下内容: 文件=.pdb、sdf、.ilk.exe.tmp Folders=ipch/,Release/,Debug/,GeneratedFiles/ 过去一切都很顺利,但现在出现了一些问题。 我收到以下错误: Moc'ing CodeInterface.h... 1> The system canno

我在多台计算机(工作/家庭)上使用相同的VisualStudio项目,使用Dropbox在这两台计算机之间进行同步。因为VS会创建一些超大文件,所以我在上传到Dropbox之前会删除以下内容:

  • 文件=.pdb、sdf、.ilk.exe.tmp
  • Folders=ipch/,Release/,Debug/,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. 
因此,我想我可能必须创建一个新的VisualStudio项目并手动导入这些类。因此,我的问题是:

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

谢谢

我不熟悉dropbox,所以我无法说明您目前的工作

我喜欢做的是使用分布式版本控制系统(我使用
git
)只查看源代码。我使用
.gitignore
文件来不对任何对象代码和visual studio项目文件等进行版本设置。然后,我可以轻松地将这些项目(及其版本控制)克隆到我喜欢的任何计算机上,包括我坐在笔记本电脑上回家时可能会无所事事地玩的测试分支

根据我的经验,VisualStudio项目文件是一个难题,因为不同的版本不能很好地相互配合(一台计算机有vs2005,另一台计算机有vs2008)。为了克服这个问题,我喜欢使用
cmake
作为我的构建系统(我也将它们包含在我的git存储库中)。Cmake是一个“元构建系统”,它为您生成visual studio、eclipse或autotools make文件,然后您在VS、eclipse或make中执行本机构建

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

我建议您与一起使用。Subversion用于管理在不同计算机上的工作,并具有版本控制的附加功能

“moc”是一个预处理
.h
文件的Qt可执行文件。它由MSVS构建系统调用。但是,如果它丢失了,您会在“Moc'ing CodeInterface.h”之后出现“系统找不到指定的路径”错误


因此,我打赌MSV找不到您的Qt实现。我并不完全感到惊讶;当我最近尝试安装Qt4构建系统及其与MSV的集成时,我并不觉得它非常健壮可靠

在您的情况下,您可以删除文件,但不能删除目录,即
GeneratedFiles\Debug
\Release
应该保留。如果查看h文件,它们会作为自定义构建步骤执行moc和uic,并且在该事件中没有路径检查代码

"$(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"
因此-添加dirs
\GeneratedFiles\$(ConfigurationName)\
可以解决您的问题。 另外,检查是否定义了$(QTDIR)


UPD-确保在某些地方的两台机器上都安装了QT

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

我在这两台机器上都使用Visual Studio 2010。连接到QT时,我遇到了相同的错误。你能告诉我如何解决这个问题吗?因为我非常迫切需要修复这个错误?我在这里贴了一个问题非常感谢汤姆