В чем разница между библиотеками в каталоге Debug / и Release / в C? - PullRequest
0 голосов
/ 14 июля 2010

Когда я ссылаюсь на тот, который находится под Release /, появляется фатальная ошибка:

LINK : fatal error LNK1146: no argument specified with option '/machine:'

Затем я попытался установить ссылку на .lib в Debug/, и на этот раз он работает.

Но что может быть другим?

Ответы [ 3 ]

2 голосов
/ 14 июля 2010

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

1 голос
/ 14 июля 2010

Это на самом деле не вопрос C; это относится к используемым платформам.

Часто проект / решение будет настроено на создание версии для отладки и версии для выпуска, и размещение их в каталогах Debug / и Release / является обычным способом различения. Отладочная версия обычно компилируется быстро и работает медленно и содержит информацию для связи внутреннего исполнения с исходным кодом (например, номера строк и имена переменных). Релизная версия обычно медленнее компилируется и быстрее запускается, и гораздо сложнее отследить, что происходит внутри.

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

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

Что такое ОС? Какой компилятор C используется? Какую систему сборки вы используете (если вы используете IDE, возможно, стандарт с IDE)? Какую библиотеку вы используете? Ваша организация строит это, или вы получаете это извне? Знание этих вещей поможет нам понять, с чего начать.

0 голосов
/ 14 июля 2010

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

...