VC中生成Lib库时,是不是只是调用编译器,而没有调用链接器?? 400 报错
如题。
比如库A引用库B,然后在工程C使用库A(未带库B)时,编译出错。但是带B(即C工程链接加入A和B库),编译运行都没问题。
再则,使用dumpbin工具查看库A的符号表,可以清晰的看到库A中引用B中的函数符号前标明是未定义的。
只是想确认一下上面那个标题是不是正确的。
你的这种情况是没有进行链接的。######回复 @zjwzcnjsy : 说的是windows下的静态库,非dll######回复 @bygreencn : ???。 A库引用B库,生成lib库A时,A中调用B库的函数,该函数的代码未被拷贝到A库中,这样的说法对吗?######标题相当的有问题,你要表达的是VC生成lib时如果同时需调用其他lib时并未链接其他lib。######那就是说标题的说法是没有什么问题的?######lib要看是动态库还是静态库,动态库可以理解成一份函数声明表,静态库则会包含函数实现######说的是windows下的静态库,非dll######说的是静态库######没用过vs编译器?######只有在A工程的属性->Librarian->Additional Dependencies中加入B.lib,生成的A.lib中才会包含B的内容。如果只是project dependencies中设置了依赖关系,A中不会包含B的内容,生成exe或dll的时候才会去真正做链接。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。