[英]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.