一、动态库存放位置
与人合作做开发项目,对方提供API接口和实现,但在使用过程中,遇到了一些有意思的问题。问题如下:
对方提供动态库文件,libfunc_a.so和libfunc_b.so,其中libfunc_a.so依赖于libfunc_b.so。libfunc_a.so
是这么编译的:
gcc -shared -o libfunc_a.so ../lib/libfunc_b.so
ldd命令查看动态库依赖如下所示:
ldd ./libfunc_a.so
../lib/libfunc_a.so (0x00007f752da3e000)
........
那么问题来了:我必须在我的可执行文件的上一级目录建一个lib目录,把动态库文件拷进去才能执行程
序,幸好可执行文件一般不放在根目录下(或者在C盘)运行。
总有人喜欢干这样的事情:在windows(32位)下,把动态库放到system32目录下;在linux下把动态库
放到/lib下。 我们尽可能的把软件做的像一个绿色软件,最好部署在一个目录下!
二、源码中写死头文件路径
比如: #include "../inc/func.h"
问题是,我觉得inc这个命名不看,想改成include,我得把所有的源码改一遍(一劳永逸)。
三、在头文件中定义全局变量
问题不大,编译的时候会发现错误,总归会被解决。
另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
免费学习书籍:
免费学习资料: