Windows中-fpermssive标志的替代方法是什么(Visual Studio)

时间:2019-09-26 12:55:14

标签: c++ visual-studio-2005

我正在使用我们产品代码中的第三方代码(openssl)。在编译代码时,我得到了可以在Linux(gcc / g ++)中使用-fpermissive标志将其抑制为警告的错误。在Windows中,Visual Studio(2005)中出现相同的编译错误。想知道-fpermissive标志的替代方案,可以在Visual Studio中使用它来抑制错误。

我尝试在模块属性-> C / C ++->命令行->其他选项中添加'/ fpermissive','/ Ze'等标记。但这并不能解决问题。

获取如下错误。 ssl / packet_locl.h(429):错误C2440:'=':无法从'void *'转换为'unsigned char '从'void '转换为指向非'void'的指针需要显式投射

由于第三方代码有误,因此我们无法在其中进行任何代码更改。

预期结果:我们需要将此错误排除为警告,然后成功进行编译。

1 个答案:

答案 0 :(得分:0)

>>我尝试在模块属性-> C / C ++->命令行->其他选项中添加“ / fpermissive”,“ / Ze”等标记。

这是在gcc上定义的,不能在VS上使用。这不适用于VS。

>>不能从'void *'转换为'unsigned char'从'void'转换为指向非'void'的指针的转换需要显式转换

这些是语言定义的错误。您不能忽略这些错误并直接运行程序。它们无法编译。

>>由于第三方代码有误,因此我们无法在其中进行任何代码更改。

如果您严格遵守使用这些第三方库的接口的方法,则不会出现此类错误。您需要的是修改自己的代码,而不更改第三方库代码。

相关问题