1> warning LNK4075: 忽略”/EDITANDCONTINUE”(由于”/INCREMENTAL:NO”规范)
1. 配置属性 --> 链接器 --> 常规 --> 启动增量链接, 选择“是(/INCREMENTAL)”;
2. 配置属性 --> C/C++ --> 常规 --> 调试信息格式,选择“程序数据库(/Zi)”。
2> 解决 警告 inconsistent dll linkage
工程--属性--配置属性--c/c++--预处理器--预处理定义, 增加MYDLL_EXPORTS,预定义,问题就可以解决了。
PREDLL_API依赖于是否定义了MYDLL_EXPORTS来决定宏展开为__declspec(dllexport)还是__declspec(dllimport)
展开为__declspec(dllexport)是DLL编译时的需要,通知编译器该函数是需要导出供外部调用的。
展开为__declspec(dllimport)是给调用者用的,通知编译器,该函数是个外部导入函数。
3> 【error】LINK1123: failure during conversion to COFF: file invalid or corrupt
在一台新的win7 64位电脑上装了VS2010,每运行一个简单的程序总是报 error LINK1123: failure during conversion to COFF: file invalid or corrupt 的错误。
这个错误是因为采用incremental linking(增量式链接)导致的,可以通过禁止工程中incremental linking的选项避免这个问题。具体操作:
Project(项目)->Properties(属性)->Linker(连接器)->Gerneral(常规)->Enable Incremental Linking(启动增量链接),把 Yes (/INCREMENTAL) 改为 No (/INCREMENTAL:NO) 即可。
上述问题只有在debug版本下才会出现的,是因为release版本会默认关闭增量连接而debug版本默认是启动增量链接的。