Попытка переключения MSVC для компилятора Intel и получение ошибок LNK1243 - PullRequest
0 голосов
/ 25 июня 2018

Фон

Я пытаюсь заменить компилятор статической библиотеки, в настоящее время встроенной в VS2015, компилятором Intel (Версия 17.0.1.143 Build 20161005). После исправления любых ошибок компиляции я начал получать ошибку времени ссылки error LNK1243: invalid or corrupt file: COMDAT section 0x2E6 associated with following section 0x0. Точный раздел (показан 0x2E6) зависит от того, включен ли я предварительно скомпилированные заголовки, но ошибка остается той же.

Что я исследовал:

Погугление ошибки приводит к множеству результатов (всего около 7, причем около 3 фактически относятся к ошибке компоновки). Одной из них была ошибка компоновки в LLVM , другая - сайт Microsoft, который ссылается на документацию VS2008 , которая ссылается на страницу, описывающую ошибка компоновки . Третья - это ссылка на исправления в Intel Parallel Studio XE 2016, которые должны были быть включены в версию, которую я использую.

Сайт Intel говорит, что исправляет

/ Qipo приводит к ошибке компоновщика: фатальная ошибка LNK1243: неверный или поврежденный файл: секция COMDAT 0x30FE, связанная со следующей секцией 0x0

и сайт Microsoft описывает ошибку как

Компоновщик обнаружил поврежденный файл .obj. Раздел должен быть связан с другим предшествующим ему разделом.

Я переключил вывод компилятора на диагностику, но ничего полезного там не увидел.

Вопрос

Что может вызвать эту ошибку (и как можно устранить причины)? Кроме того, что мне следует искать в файлах * .obj, чтобы лучше понять, что происходит?

...