C++ Qt-Visual Studio-在多台计算机上处理项目
我在多台计算机(工作/家庭)上使用相同的VisualStudio项目,使用Dropbox在这两台计算机之间进行同步。因为VS会创建一些超大文件,所以我在上传到Dropbox之前会删除以下内容: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
- 文件=.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时,我遇到了相同的错误。你能告诉我如何解决这个问题吗?因为我非常迫切需要修复这个错误?我在这里贴了一个问题非常感谢汤姆