all references to"*.dll" discarded by /OPT:REF

来源:互联网 发布:如何确保数据准确性 编辑:程序博客网 时间:2024/05/22 17:36

编译时遇到这样的问题,虽然只是警告,还是不爽,原因如下:

大致意思就是说, 由于打开了优化选项,而且程序中包含或加入了*.dll,但是却没有调用该库中的任何函数或方法, 所以系统给个通知。

/OPT:优化,   控制 LINK 在生成期间执行的优化。

有下面三类参数:

/OPT:{REF | NOREF}
/OPT:{ICF[=iterations] | NOICF}
/OPT:{WIN98 | NOWIN98}

 

第一个就是我要写的,

/OPT:REF 清除从未引用的函数和/或数据,而 /OPT:NOREF 保留从未引用的函数和/或数据。

默认情况下,LINK 移除未引用的封装函数。如果对象已经用 /Gy 选项编译过,它包含封装函数 (COMDAT)。此优化称为可传递的 COMDAT 消除。若要重写该默认值并在程序中保留未引用的 COMDAT,请指定 /OPT:NOREF。可以使用 /INCLUDE 选项重写特定符号的移除。

如果指定了 /DEBUG/OPT 的默认项是 NOREF(否则,为 REF),而且所有函数都保留在映像中。若要重写此默认项并优化调试生成,请指定 /OPT:REF/OPT:REF 选项禁用增量链接。

 

 

其它两灰参数还没遇到,遇到了再写.

 

原创粉丝点击