Хобрук: Ваш путь к мастерству в программировании

Delphi постоянно создает библиотеки DLL в неправильном каталоге

У меня есть групповой проект, созданный в Delphi XE2, в котором есть 3 проекта, которые всегда строятся в неправильной папке для одного набора параметров. (У меня есть 4 конфигурации в разделе «Выпуск и отладка», одна для конфигураций нашего программного обеспечения и одна для FastMM, и только отладочная, которую я хочу использовать для отладки, всегда попадает в неправильную папку. Компиляция проекта даже говорит, что он строит в правильную папку, но DLL всегда оказывается в другой, которую я использовал только один раз, когда проводил модульное тестирование кода вне основного проекта.

Я удалил все связанные файлы, .identcache, .res, .tvsproj (что бы это ни было), и ничего не изменилось. Одна очень странная вещь, которую я заметил, заключается в том, что я скопировал один из проектов для настройки второго и имитирует поведение того, из которого он был скопирован, и я даже никогда не тестировал этот проект, поэтому для него никогда не был настроен этот выходной путь.

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

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


Я заметил одну вещь: потому что я скопировал исходный проект в другой проект (это плагины к той же части основной программы), он имеет то же самое, и когда я пытаюсь использовать его в «Группе сборки», он автоматически выбирает оба проекты. Это одна загадка раскрыта, но вероятно отвлекающий маневр?

15.09.2014

  • Здесь работает нормально. Возможно, вы могли бы предоставить простую реплику. 15.09.2014
  • @DavidHeffernan Интересно, смогу ли я воспроизвести это, я знаю, почему это происходит. Думаете, такие вещи лучше оставить только на сайте Embarcadero? 15.09.2014
  • Конфигурации сборки хранятся в файле *.dproj, поэтому я думаю, проблема в том, где; иногда файл *.dproj ломается, но я никогда не сталкивался с таким случаем, как ваш. 15.09.2014
  • @user да, он был разорен. 15.09.2014

Ответы:


1

Итак, как обычно бывает, после 3 лет мучений с этим, когда я, наконец, задаю вопросы, которые я привожу прямо к ответу, кажется, что RAD Studio нам лжет. Конфигурация показывает это:

введите здесь описание изображения

но у dproj было это:

введите здесь описание изображения

in it.

для cfg_3 было два условия, и только последнее появилось в RAD Studio, ну и по какой-то странной причине путь сборки был взят из первого (хотя он указан в обоих). Таким образом, удаление неправильного (первого) устранило проблему, и теперь все собирается в правильную папку.

Я импортировал набор опций Utils, когда тестировал библиотеку, но когда я включил программу в основную программу, я удалил ее. Каким-то образом он не нашел выхода полностью из dproj, и я думаю (не знаю почему), но похоже, что другая библиотека испортилась, потому что она разделяла GUID.

15.09.2014
Новые материалы

Как начать получать пассивный доход через блоги по программированию?
Получение пассивного дохода с помощью блогов по программированию — отличный способ пополнить свой доход и работать из дома. Существует много способов получения пассивного дохода от вашего..

Как ИИ меняет сельское хозяйство
Прочтите Статью Кэтлин Уолч в Forbes о том, как ИИ меняет сельское хозяйство . Сельское хозяйство и земледелие - одна из древнейших и важнейших профессий в мире. Человечество прошло долгий..

Slack: проектирование современных интерфейсов человека и ИИ
Когда Стюарт Баттерфилд выделил Slack из быстро исчезающей онлайн-игры Tiny Speck, его перспективы были в лучшем случае неопределенными. Существовал очевидный спрос на средства связи на рабочем..

HTTP1.1 против HTTP2
Http расшифровывается как HyperText Transfer Protocol, это в основном метод, который компьютеры и серверы используют для запроса и отправки информации. HTTP1.1 - это более старая версия Http, а..

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

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

Буферы протоколов, часть 01: соглашения об именах и файловая организация
Если вам нравится читать статьи на Medium и вы заинтересованы в том, чтобы стать участником, я буду рад поделиться с вами своей реферальной ссылкой!