C++库的链接错误的总结

 我们经常在写C++程序的时候 回用到第三方库。或者自己写的库给别人使用。所以经常回遇到链接错误。总结写一下链接错误的原因。

 1 有声明 无实现。

       我们声明了变量,但是没有去实现。这样的话回出现链接错误。编译的时候,编译器只要知道这个变量的类型就可以。常常是全局变量忘记。

2 没有_declspec(dllexport)  ,我们的第三方库没有导出的情况下,是使用不了的。

3 没有_declspec(dllimport)   同样对于使用第三方库,我们也要导入import。

4导出类的时候,当然dll是建议导出类的, 也可以到处,导出类,这个类是导出了,但是类中包含了其他类,同样要导出。

5缺失lib库。可以用

                 a>vs2010等加上(具体在

项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项

项目-->属性-->配置属性-->链接器-->输入-->附加依赖依赖项(使用空格或分号间隔多项。))

                b>用#pragma comment(lib,"xx.lib")

6注意路径 怀疑路径的问题,可以先用绝对路径试一下。

相对路径 ./ 当前文件所在的目录

              ../ 当前文件所在的上一层目录

             ../../ 当前文件所在目录的上一层目录的上一层目录

6 版本问题: 确认编译时debug 还是release 。第三方库是何种版本,一定要一致,编译的是多少位 是32还是64位的。都要一致

猜你喜欢

转载自blog.csdn.net/wuan584974722/article/details/81354411