2017-01-20 2 views
-1

У меня есть createprocess witch lpCurrentDirectory установлен в NULL. Я изменил свой рабочий каталог на ..\Debug в окне свойств. enter image description hereрабочий каталог win32 visual studio

После этого создайте процесс find .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), чтобы узнать, как это работает. Эти листы свойств затем могут быть объединены в настройки .vcxproj, используя * Property Manager *. – IInspectable

 Смежные вопросы

  • Нет связанных вопросов^_^