有一个静态库,里面中有一个类成员函数的定义中加上inline,可以编译通过,生成一个静态库,但是引用这个库的程序编译时总是报告这些加上inline的成员函数是无法解析的外部符号(去掉inline后两个项目都重新编译是可以的),为什么呢?我想但是我想将那些函数定义成inline怎么做呢?
inline,编译器可能会进行函数内联,也就是直接展开这个函数的代码,因而就没有这个函数名称了,对外来说,调用就找不到这个函数实现了。所以你需要导出的函数不应该进行内联
在vs跟g++下编译inline实际上是有区别的 最佳答案描述的没错 但是若G++不能连接而VS可以的话 可能是另一个原因引起的
就是inline的定义跟实现分离了。。这是vs跟gcc在编译时的索引方式不同导致的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。