Настройка проекта / решения в Visual C ++ IDE - PullRequest
0 голосов
/ 02 марта 2012

Я ищу советы или рекомендации по правильной (и довольно элегантной) настройке решения для нескольких C / C ++ - проектов в среде Visual C ++ IDE.Например, я обеспокоен абсолютными путями поиска и предпочел бы использовать относительные пути и / или использовать правильные переменные, например, $ (soandso), чтобы решение / проект работали независимо от того, где оно хранится именно в файловой системе.Но я не знаю, как мне этого добиться.

Решение, с которым я сейчас работаю, состоит из двух проектов.Один проект DLL и один другой проект приложения командной строки, который использует DLL.Мне интересно, как мне настроить все пути и ссылки - не только для того, чтобы он работал для меня, но и для того, чтобы он работал для всех, кто копирует папку моего решения где-то на другой жесткий диск в другую папку (и т. Д.).

Ответы [ 2 ]

0 голосов
/ 03 марта 2012

Так как @Nikola упомянул, он все это делает в VS уже! Лучший способ, который я могу вам сказать, - это если вы хотите сделать эти два проекта в одном решении:

1) создать оригинальное решение с помощью DLL или клиентского решения.
2) щелкните правой кнопкой мыши решение (НЕ проект) в диспетчере решений -> добавить -> новый / существующий проект
3) добавить / создать другой проект

Что касается того, как добавить ссылку на DLL в коде клиента ... VS делает это тоже. Вот шаги, которые нужно предпринять для этого:

1) щелкните правой кнопкой мыши по клиентскому проекту
2) ссылки
3) «Добавить новую ссылку» - в этом списке будут перечислены проекты в решении ... нажмите на проект DLL
4) «ОК»

Это автоматически сделает ссылки на DLL через относительные пути, и, поскольку они упакованы вместе в одном решении, любой, кто откроет / использует решение (или установит код, если вы используете релизную сборку), также будет иметь Ссылка на DLL.

0 голосов
/ 02 марта 2012

То, что вы ищете - это то, что Visual Studio фактически делает по умолчанию. Все выходные каталоги относятся к вашему решению:

  • Выходной каталог: $(SolutionDir)$(Platform)\$(Configuration)\
  • Промежуточный каталог: $(Platform)\$(Configuration)\
  • Имя цели: $(ProjectName)

Кроме того, вы можете разместить эти каталоги вне дерева исходных текстов, чтобы избежать загрязнения вашей рабочей копии (здесь я использую терминологию SVN). Вы можете сделать это, используя относительные пути и макросы, такие как ..\$(SolutionDir)

Довольно сложно ответить на ваш вопрос, если бы вы могли более конкретно рассказать о том, чего вы пытаетесь достичь, я мог бы дать вам лучший ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...