vs2017 linux 链接动态库,VS2017 Linux C++引用自定义的动态库

前一篇博客讲了用系统库libpthread.so的例子,只需要在项目属性页的[C++->命令行参数]和[链接器->命令行参数]中加上对应参数(比如-pthread)即可,然后我试着引用自己的库(libTLPI.so,放在/lib目录下),然后在命令行参数后面加上-lTLPI,发现无法引用自定义的动态库,undefined reference错误。

在网上找了很久,都没找到解决方案,最后还是官方周到,在VS首页的教程中就有

20180111002517295890.png

因为之前配置过opengl,所以立刻看出来GL、GLU、glut代表的是opengl的三个.so文件(libGL.so、libGLU.so、libglut.so),然后我就发现被VS的描述坑了

20180111002517296867.png

我还以为这里的库依赖项只能输入静态库呢,原来是我一时眼快……前缀为lib的就是动态库libxxx.so,我第一眼还以为是windows的静态库xxx.lib,因为以前配置opencv的时候套路都是在[链接器->输入]中输入静态库(*.lib文件)的名字,然后动态库(*.dll)直接通过环境变量来查找。

而远程调试Linux的话,动态库libxxx.so和静态库xxx.a都是在[链接器->输入]里配置(囧)

于是,在[C++->命令行参数]、[链接器->命令行参数]中也不必要去加-lTLPI选项了。

20180111002517298820.png

20180111002517300773.png

最后精简了代码,编译运行成功,到了这一步终于可以用VS完全取代Linux下直接开发了(也不尽然,远程操控相比本地直接用命令编译速度还是慢点的)

20180111002517302726.png

原文:http://www.cnblogs.com/Harley-Quinn/p/7465638.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值