Visual Studio 编译代码的时候提示dll链接不一致,如下图:
1>f:xxxxxxxxxxxxxxxxxxxx\dopra\securec.h(169) : warning C4273: “strncat_s”: dll 链接不一致
1> E:\Microsoft Visual Studio 8\VC\include\string.h(138) : 参见“strncat_s”的前一个定义
这里的提示就是说在x\dopra\securec.h和\VC\include\string.h中都有strncat_s的定义,dll链接中可能链接的是\VC\include\string.h中的,而我们代码中引用的是第一个,所有会出现这个告警。
这里其实有几种方法处理:
1、屏蔽告警,这个我在另一篇文章中有写。
2、你可以自己编一个dll文件,然后在Visual Studio中去引用。
这种方法可能不能彻底解决问题,你要这么用,首先就要确定你没有引用VC的库文件。
不然可能会提示你其他的告警(这个是猜测的,毕竟同一个函数在两个dll中都有)
3、修改下头文件的引用。
头文件引用可以在下面的地方去修改:
在附加包含目录中将你的路径去掉,用VC自己的库文件。
当然了,记得点下全部保存,否则可能你的修改不会立即生效,反正vs2005是这样。