Что является альтернативой для -fpermssive flag в windows (visual studio) - PullRequest
0 голосов
/ 26 сентября 2019

Я использую сторонний код (openssl) из нашего кода продукта.При компиляции кода я получаю сообщения об ошибках, которые можно подавлять как предупреждения, используя флаг -fpermissive в Linux (gcc / g ++).В Windows я получаю те же ошибки компиляции в Visual Studio (2005).Хотелось бы узнать альтернативу флага -fpermissive, который можно использовать в Visual Studio для подавления ошибок.

Я попытался добавить флаги, такие как '/ fpermissive', '/ Ze', в свойствах модуля-> C/ C ++ -> командная строка-> Дополнительные параметры.Но это не решило проблему.

Получение ошибок, как показано ниже.ssl / packet_locl.h (429): ошибка C2440: '=': невозможно преобразовать из 'void *' в 'unsigned char ' Преобразование из 'void ' в указатель на не 'void' требует явногоcast

Так как он выдает ошибку в стороннем коде, мы не можем вносить в него какие-либо изменения кода.

Ожидаемые результаты: нам нужно подавить эту ошибку как предупреждение и затем успешно продолжить компиляцию.

1 Ответ

0 голосов
/ 27 сентября 2019

>> Я попытался добавить флаги, такие как '/ fpermissive', '/ Ze' в свойствах модуля-> C / C ++ -> командная строка-> Дополнительные параметры.

То есть определите на gcc, вы не можете использовать на VS.Это не подходит для VS.

>> невозможно преобразовать из 'void *' в 'unsigned char' Преобразование из 'void' в указатель на non-'oid 'требует явного приведения

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

>> Так как он выдает ошибку в стороннем коде, мы не можем вносить в него какие-либо изменения.

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

...