Подтвердить что ты не робот

LNK4075: игнорирование '/EDITANDCONTINUE' из-за спецификации '/OPT: ICF'

Недавно я преобразовал многопроектное решение Visual Studio для использования .dll вместо .libs для каждого из проектов. Однако теперь я получаю предупреждение компоновщика для каждого проекта, как указано в примере. MSDN не помогал в этом. Почему это так и как я могу это решить?

Предупреждение 2 предупреждение LNK4075: игнорирование '/EDITANDCONTINUE' из-за '/OPT: ICF' спецификация LudoCamera.obj

4b9b3361

Ответ 1

У вас может быть поддержка или оптимизация "Изменить и продолжить". Обычно вы добавляете "Редактировать и продолжать" в сборках отладки и оптимизациях в выпусках.

Изменить и продолжить позволяет вам изменять код во время отладки и просто поддерживать работу программы. Он не поддерживается, если код также должен быть оптимизирован.

Ответ 2

У меня тоже была эта пробема. Я открыл свойства проекта, а затем нажал "Общие" на вкладке C/C++. Есть опция "Формат отладочной информации", которую я изменил на базу данных программы (/Zi), и я больше не получал предупреждение.

Ответ 3

Я также получил это предупреждение при преобразовании проекта VS2008 с .lib в .dll и обходным путем было изменение настроек Linker/Optimization в конфигурации Debug Win32 по умолчанию:

Ссылки = Сохранять неизменяемые данные (/OPT: NOREF)

Включить COMDAT Folding = Не удалять избыточные COMDAT (/OPT: NOICF)

Ответ 4

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

Боб.

Ответ 5

Вы должны установить ОБА проекты "Формат информации отладки" как "База данных программы (/Zi)". Например. Если предупреждение:

warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification D:\mypath\project1\project1.obj project2

Тогда в ОБА Project1 и проекты свойств. Установите их как:

project properties->Configuration Properties->C/C++->General->Debug Information Format, set it as ‘Program Database(/Zi);

Ответ 6

Мы должны были установить "Создать информацию отладки" на "Да (/DEBUG)" в свойствах проекта Linker-> панель "Отладка". Не уверен, как это не было настроено для отладочной сборки или почему это не будет по умолчанию, но все готово. (VS2010, в случае, если это актуально.)