编译器链接独立的静态/动态库

时间:2017-05-03 06:09:34

标签: c++ shared-libraries linkage

我想在Linux上将我的libtest.cpp源代码构建为静态/动态库(libtest.so)。我想分享这个.so,其他人可以用他们的编译器(不同的版本)链接到它。我想问一下如何实现它?

据我所知,英特尔MKL是一个类似的库,我们下载.h和.so,然后使用我们的编译器链接到它。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

要使用gcc创建静态库(我假设您正在使用gcc),请使用以下行:

g++ -c libtest.cpp -o libtest.o
ar  rcs libtest.a libtest.o

对于共享库:

g++ -c -fPIC libtest.cpp -o libtest.o  
g++ -shared -Wl,-soname,libtest.so.1 -o libtest.so.1.0.1  libtest.o