2011-07-21 77 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和其他項目文件,因此它是一個相當便攜的解決方案。

相關問題