1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Makefile: 参数-I (大写字母i) -l (小写字母l) 和-L的区别

Makefile: 参数-I (大写字母i) -l (小写字母l) 和-L的区别

时间:2020-03-14 11:49:01

相关推荐

Makefile: 参数-I (大写字母i)  -l (小写字母l) 和-L的区别

在写Makefile的时候,其实并不像写CMakeList.txt那么方便,直接include_directories, target_link_libraries,而且对于这些关键字大小写都是不敏感的,可是Makefile不一样,所以LZ这里对参数-I (大写字母i), -l (小写字母l) 和-L的区别也进行了简单的记录和总结。

参数-I (大写字母i):

可以看作是include的首字母大写,主要是包含对应的头文件路径

参数-l(小写字母l)

可以看做是library,主要是链接的库的名字,例如

-ltensorflow_cc就代表链接的库的名字为:libtensorflow_cc.so,这里其实很容易出现cannot find的错误

需要排查几个问题:

第一个,使用export添加对应的路径LIBRARY_PATH, 如果不怕冲突可以写在~/.bashrc或者/etc/profile里面

第二个,查看对应库的权限,有些时候会因为权限不够而找不到库,保险可以设成777来排除这个问题

第三个,查看链接是否有效,如果库后面有版本号,需要手动生成对应的软链接,不然makefile还是找不到,类似下面这种方式

ln -s libtensorflow_cc.so.1.14.1 libtensorflow_cc.so.1ln -s libtensorflow_cc.so.1 libtensorflow_cc.so

参数-L

这个就是包含库的文件夹位置,其实也是库的路径设置。

积攒了好多需要总结,梳理的东西,还是要保持住整理总结,更新博客的习惯!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。