Используйте «Макрос пользователя» в .vcproj RelativePath - PullRequest
2 голосов
/ 22 мая 2009

Внутри .vcproj файлов В вашем проекте есть список всех исходных файлов.

Как мы можем использовать макрос для указания пути к исходному файлу? Если мы сделаем это:

<File
   RelativePath="$(Lib3rdParty)\Qt\qtwinmigrate-2.5-commercial\src\qmfcapp.cpp">
</File>

Компилятор не может найти папку:

qmfcapp.cpp
c1xx : fatal error C1083: Cannot open source file: '.\$(lib3rdparty)\qt\qtwinmigrate- 2.5-commercial\src\qmfcapp.cpp': No such file or directory

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

Ответы [ 4 ]

3 голосов
/ 24 мая 2010

Если вы добавите существующий файл с другого диска, вы заметите, что используется абсолютный путь.

По крайней мере, для v8.00 макросы, похоже, не раскрываются. Я пробовал макросы VC, Ant и OS - ни одна не работала.

Всегда есть опция соединения sysinternals, сопоставленный сетевой путь или библиотека .lib со спецификацией макроса, заданной в проекте / глобальном источнике, include и lib. Даже с пакетом lib вы сможете войти в исходный код.

3 голосов
/ 22 мая 2009

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

Если это так, вы можете использовать относительный путь от каждого проекта к сторонним исходным файлам.

Однако, если ваше решение велико и имеет сложные настройки проекта, вы должны посмотреть на CMake , даже если вы строите только на Windows. CMake позволяет вам описать вашу среду сборки с общими настройками, указанными только в одном месте. Более сложные случаи могут быть обработаны с помощью переменных и макросов. Затем он генерирует ваши визуальные студийные проекты или make-файлы из этого описания. Мы ввели его для поддержки порта Unix, и теперь я использую его также для разработки только для Windows.

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

1 голос
/ 16 октября 2009

Попробуйте установить переменную окружения для 'Lib3rdParty' в соответствующий фрагмент относительного пути.

0 голосов
/ 24 июня 2009

.. следует отметить, что использование таблиц свойств избавляет от многих неудобств

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