2017-01-20 61 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