关于编译和链接的问题
烟袅许伊 2018-01-31 05:39:32 首先,我所用的库是c++的,所以我想用静态链接的方式完成我的编译链接过程。所以大部分框架部分我是自己搭建的,然后已经用静态链接的方式完成了,比如说内存模块,公共模块,多线程模块,通用网络模块,IO模块,日志模块。比如说lib_mem.a, lib_pub.a, lib_net.a, lib_io.a.....
然后,因为系统要工作于各种不同的网络上,所以我想要将网络模块的子模块通过动态链接的方式实现,当然这在windows下已经实现,不过也没有深究为什么,也就是工作正常,没有Bug。
最后呢,问题来了,既然我要做跨平台的库,转到linux之后我就想弄明白。同上,我的基础模块已经静态编译通过了。由于动态链接的那部分网络子模块也用到了公共模块、内存模块、多线程模块等,automake在编译链接的时候如果不加这些模块就通不过。
问题是:
不将动态链接库中加入这些模块是否可行?
如果我将这些库加入动态链接库中是否可行?
如果可行,那我静态链接的多个是否是相互独立,相互没影响的?
不要说都动态链接。。。那样肯定可行。。。