Путь поиска Delphi против пути библиотеки против пути просмотра

27

В Delphi я могу включить исходный код папки, добавив его в путь поиска проекта или добавив его в путь к библиотеке. Путь поиска применяется только к текущему проекту, тогда как путь к библиотеке применяется к любому проекту, открытому с помощью IDE.

Кроме этого, существует ли какая-либо функциональная разница между путями поиска и библиотеки?

Моя причина для запроса: у меня есть папка X с источником, используемым в проекте A. Когда я включаю эту папку в путь поиска Project A, он говорит, что не может найти конкретный файл в этой папке. Когда я включаю его в путь к библиотеке, тогда проект A компилируется отлично.

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

В то время как мы находимся в теме (и рискуем превратить себя в дурака): Каково функциональное различие между "пути к библиотеке" и "пути просмотра"?

Теги:

2 ответа

27
Лучший ответ

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

Предположим, что у вас есть компонент третьей стороны, который вы используете. Вы указываете путь библиотеки к каталогу, где предварительно скомпилированные dcu файлы этого компонента. Ваш проект будет использовать эти dcu файлы при компиляции. Это хорошо, потому что он не будет перекомпилирован каждый раз, когда вы делаете сборку.

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

Настройки по умолчанию для vcl показывают это. В пути к библиотеке они поместили $(BSD)\Lib, а в пути просмотра они поместили $(BDS)\SOURCE\WIN32...

Обновление. Существуют два разных пути поиска: путь поиска компилятора и путь поиска отладчика. Во-первых, компилятор ищет файлы во время компиляции, а второй - там, где отладчик ищет исходные файлы во время отладки.

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

Не должно быть никакой разницы в определении вещей во всем мире или в проекте pr.

  • 0
    Это было мое понимание, и это имеет смысл. Но это означает, что с практической точки зрения все 3 одинаковы ... это просто вопрос организации. Это не соответствует моему опыту с этой проблемой.
  • 1
    Нет, это не то же самое. Если вы включите свой путь в просто путь просмотра, он хочет скомпилировать.
1

Отладчик также найдет файлы в пути к библиотеке.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню