Я пытался скомпилировать наш проект в Visual Studio 2010 с использованием компилятора 2005 года и наткнулся на эту странную ошибку.
Есть конкретный файл, который приводит к сбою компилятора всякий раз, когда я пытаюсь скомпилировать его. это из VS2010 с диалоговым окном ошибки «Оптимизирующий компилятор Microsoft (R) C/C++» с кнопками «не отправлять». Я посмотрел на то, как VS2010 вызывает компилятор 2005 года, и заметил некоторые различия с тем, как его вызывает VS2005. Поэтому я начал удалять эти различия одно за другим, пытаясь скомпилировать после каждой попытки, и как только я удалил флаг /Gd, файл скомпилировался успешно.
Глядя на компилятор docs, этот флаг управляет соглашением о вызовах и устанавливает для него значение __cdecl, которое используется по умолчанию. Единственная разница в том, что в VS2005 он опущен, но VS2010 решает добавить его в командную строку, что приводит к сбою.
Кто-нибудь сталкивался с этим или знает способ обойти эту проблему? Кажется, я не могу придумать, как заставить VS2010 удалить /Gd из командной строки, хотя это значение по умолчанию. Единственное, что я смог найти, это как добавлять параметры, а не удалять.
Подробнее здесь: https://stackoverflow.com/questions/294 ... he-gd-flag
Компилятор C++ VS2005 аварийно завершает работу с флагом /Gd ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение