vc6 link warning 4089 discarded by /OPT:REF
vc6 编译时会出现下面的警告信息:
LINK : warning LNK4089: all references to "SHELL32.DLL" discarded by /OPT:REF
LINK : warning LNK4089: all references to "VERSION.DLL" discarded by /OPT:REF
表示 /OPT:REF 放弃对 dynamic link library 中导出所有封装函数的引用,即对"SHELL32.DLL" 和 "VERSION.DLL" 的引用。可以考虑移除对 dynamic link library 中的引用,以加快生成速度。如果代码中未使用的函数引用了链接器已放弃的 dynamic link library 导出函数,可能会出现此警告。
使用 /VERBOSE 查看链接器所放弃的函数,然后将它们从代码中移除。
#pragma comment(linker,"/verbose")
也可使用 "/OPT:NOREFS" 或者 "/IGNORE:4089" 直接移除警告
//#pragma warning(disable:4089)//只对当前源文件作用
#pragma comment(linker,"/opt:noref") // 或者
#pragma comment(linker,"/ignore:4089") // 生成的可执行文件,相对noref会小些