Почему исполняемый файл производится IDE Delphi 2009, отличающимся от произведенного на командной строке?

Я решил эту проблему, добавив следующие аргументы в строку командной строки:

mysql --user username --password пароль --host localhost --port 3306 databasename < "системный путь к файлу .sql"

Без --host & amp; Аргументы --port, особенно если вы измените порт на, скажем, 3307, который не является значением по умолчанию, вызовут эту ошибку.

10
задан RRUZ 23 April 2011 в 00:52
поделиться

5 ответов

Чтобы узнать, что делает IDE, проверьте

Инструменты | Опции | Параметры среды | Компиляция и запуск | Показать командную строку

И вы можете проверить сообщения компилятора.

8
ответ дан 3 December 2019 в 18:35
поделиться

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

Фактически, IDE просто вызывает компилятор командной строки. Скомпилируйте свой проект в IDE и посмотрите на окно сообщений. вы увидите полный вызов dcc32.exe ...

0
ответ дан 3 December 2019 в 18:35
поделиться

Такое поведение существовало во всех версиях Delphi, которые я использовал. (5 - 2006). Я бы особо не беспокоился об этом. Когда я впервые обнаружил это, я потратил много времени, пытаясь устранить разницу. Я пропустил флаг компилятора? Есть ли расхождения между IDE и параметрами, поддерживаемыми компилятором командной строки?

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

0
ответ дан 3 December 2019 в 18:35
поделиться

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

С другой стороны, если вы действительно хотите выяснить, что происходит вам следует включить файлы карты (на уровне полной детализации) и сравнить / сравнить их. Если между ними есть различия, они появятся там. Любые другие различия, которые могут существовать, вероятно, являются результатом другой опции командной строки (например, условного флага, который может быть установлен в настройках IDE).

3
ответ дан 3 December 2019 в 18:35
поделиться

Основная сила сборки из компилятора командной строки Delphi - это стандартизация - вы явно указываете параметры (в командной строке, в файлах .cfg и т. Д.) , и компилятор следует исключительно предоставленным параметрам. В отличие от этого, IDE имеет много других нечетких и явных поведений - например, он может искать пути к библиотекам, не указанные в параметрах проекта. Я предполагаю, что в сборке IDE происходит что-то, о чем вы не совсем осведомлены, и поэтому стандартизированные сборки выполняются из командной строки.

10
ответ дан 3 December 2019 в 18:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: