繁体   English   中英

使用makefile和g ++链接到静态库

[英]Linking to a static library with a makefile and g++

我想我的C ++可执行文件链接到两个静态( libStatic.a )和共享( libShared.so )库,利用生成文件。

到目前为止,makefile具有以下内容:

myExe: main.cpp libStatic.a libShared.so
    g++ main.cpp libStatic.a libShared.so

我相当确定静态链接是正确的,因为我在其他地方也看到过类似的事情。 我不确定的是共享链接部分。 这个对吗? 还是链接到静态库的方式有所不同?

如果我运行make,那么似乎可以,并创建可执行文件。 但是,当我执行此操作时,我会显示该错误:

/usr/bin/ld: cannot find -lShared

但是,我的可执行文件和libShared.so在同一目录中。

在运行程序之前,需要将LD_LIBARY_PATH设置为共享对象所在的目录。

您可以在man ld “ rpath”中进行阅读以获取其他可能性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM