LNK4075: игнорирование '/EDITANDCONTINUE' из-за спецификации '/OPT: ICF'
Недавно я преобразовал многопроектное решение Visual Studio для использования .dll вместо .libs для каждого из проектов. Однако теперь я получаю предупреждение компоновщика для каждого проекта, как указано в примере. MSDN не помогал в этом. Почему это так и как я могу это решить?
Предупреждение 2 предупреждение LNK4075: игнорирование '/EDITANDCONTINUE' из-за '/OPT: ICF' спецификация LudoCamera.obj
Ответы
Ответ 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, в случае, если это актуально.)