2017-01-20 82 views
-1

我有createprocess女巫lpCurrentDirectory設置爲NULL。我已經在屬性窗口中將我的工作目錄更改爲..\Debugenter image description here工作目錄win32 visual studio

然後創建進程查找.exe文件和程序工作沒有問題。然後我用git把我的程序推到服務器上。然後我創建文件夾並從服務器上克隆該程序。問題是,當我或任何其他人克隆該程序工作目錄更改爲默認。 enter image description here

然後createprocess找不到.exe文件。這裏最重要的是該程序必須在其他計算機上運行而不做任何修改。所以我的問題是:

  • 我怎樣才能使我的工作目錄永久?
  • 如果無法完成這個問題我有什麼其他選擇?以及如何實施它們?

最重要的是,路徑不能這樣寫L「G:\ CppProjects \ ConsoleApplication1」 因爲它不會從其他目錄或其他計算機不小的修改工作。任何想法都很好。

+0

將可執行文件的完整路徑傳遞給CreateProcess。 –

+0

但如何通過它?它將根據其他人克隆該文件的​​位置而變化。因爲解決方案中有兩個程序。一個創建.exe其他是該.exe的控制器。從一臺電腦到另一臺電腦將會有所不同。 – andrius

+0

找出您的可執行程序所在的目錄,並使用該目錄編寫完整路徑。 –

回答

2

Visual Studio項目的調試設置被視爲用戶特定的,而不是項目特定的。這是因爲這些設置通常包含只保證存在於設置它們的工作站上的路徑。按照設計和默認情況,這些設置不會提交到源代碼管理。

您可以通過將whatever.vcxproj.user文件(來自與whatever.vcxproj相同的目錄)放入源代碼管理來共享這些內容。但是,我不會推薦這樣做,因爲這個文件不僅包含調試設置,還包含其他工作站/用戶特定的設置,您可能會發現有問題需要共享。

+0

*調試*設置確實被認爲是每個用戶的配置。但是,*有一種乾淨的方式可以爲團隊中的每個用戶設置此參數:指定相對於預先配置的Visual Studio宏的路徑(例如'$(SolutionDir)')。這使得它們對每個開發人員都有效,無論他們的解決方案在哪裏。我相信他們可以使用屬性表進行部署。請參閱[使用項目屬性](https://msdn.microsoft.com/en-us/library/669zx6zc.aspx)以瞭解它的工作原理。然後可以使用* Property Manager *將這些屬性表合併到.vcxproj設置中。 – IInspectable