关于lib静态链接问题

转载 2016年08月31日 14:13:13

在VC中

pragma comment(lib, “xxx.lib”)

VS早期版本,直到VS2013都没有问题,但在vs2015下,有以下提示:

error LNK2019: 无法解析的外部符号 _sscanf
说明lib中用到这个函数,但这个函数却没有定义实现。直接在vs2013及vs2015中均无法搜索到有 声明 _sscanf 的文件。

有什么办法能链接到 _sscanf 的实现函数?或者因为sscanf、sscanf_s这样的函数在系统中有,能不能让lib中的_sscanf替换成sscanf? 用#define _sscanf sscanf 似乎不起作用。
解决方案找到了。
在vs2015工程选项,链接器附加依赖项里面添加legacy_stdio_definitions.lib即可。
出现这个问题的原因是vs2015默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数。
参考:https://connect.microsoft.com/VisualStudio/feedback/details/1030022/missing-stdio-identifiers-with-external-linkage
http://stackoverflow.com/questions/32418766/c-unresolved-external-symbol-sprintf-and-sscanf-in-visual-studio-2015

静态链接库(lib)和动态链接库(dll)的区别和使用

一,概念         1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。          使用方法    1>  ...
  • zang141588761
  • zang141588761
  • 2016年01月12日 09:53
  • 3954

静态库中的全局变量的问题

lib
  • tony2278
  • tony2278
  • 2016年11月29日 11:19
  • 1671

静态库的符号解析和重定义处理策略

一、什么是静态库 将多个普通目标文件打包成为一个单独的文件,称为静态库。 静态库是为了解决以下问题而出现的: (1)C用户需要使用大量的C函数库 把所有的代码放在一个.c文件中,然后产品代码一...
  • mishifangxiangdefeng
  • mishifangxiangdefeng
  • 2015年04月19日 12:23
  • 1844

转:VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

MSDN中对于在不同的配置下Link的LIB作了说明:C Runtime Library:开关对应的库版本/MDMSVCRT.LIB多线程DLL的Release版本/MDdMSVCRTD.LIB多线程...
  • IeSneaker
  • IeSneaker
  • 2011年06月03日 15:26
  • 1253

VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

from:http://blog.csdn.net/ithzhang/article/details/13170047 Background MSDN中对于在不同的配置下Link的LIB作...
  • u010059658
  • u010059658
  • 2016年03月31日 15:23
  • 1220

VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

Background MSDN中对于在不同的配置下Link的LIB作了说明: C Runtime Library: 开关 对应的库 版本 /...
  • mail_cm
  • mail_cm
  • 2012年07月05日 11:25
  • 655

VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

Background MSDN中对于在不同的配置下Link的LIB作了说明: C Runtime Library: 开关 对应的库 版本 ...
  • setflvet
  • setflvet
  • 2011年12月15日 14:41
  • 627

转:VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

MSDN中对于在不同的配置下Link的LIB作了说明:C Runtime Library:开关对应的库版本/MDMSVCRT.LIB多线程DLL的Release版本/MDdMSVCRTD.LIB多线程...
  • IeSneaker
  • IeSneaker
  • 2011年06月03日 15:26
  • 1932

Android 中的dex 超出64K链接数限制问题 及 cocos lib.so找不到解决

大部分转自 http://www.cnblogs.com/liaolandemengxiang/p/5364199.html 如果你是一个android开发者,你至少听说过的Dalvik的蛋...
  • jiao2342016
  • jiao2342016
  • 2016年08月17日 19:33
  • 660

VC编译\链接\运行:包含文件、包含库lib、包含动态库dll的一些问题

在代码开发的过程中,常常碰到编译、链接、运行时加载dll 的问题,简单罗列一下: 1. 未包含头文件:         报错信息可能为: 编译错误 函数/类未定义   2. 包含头文件,未包含库lib...
  • chunyexiyu
  • chunyexiyu
  • 2013年10月24日 15:58
  • 2100
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于lib静态链接问题
举报原因:
原因补充:

(最多只允许输入30个字)