gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 06:10:04 25 4
gpt4 key购买 nike

我想使用 makefile 将我的 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”以了解其他可能性。

关于c++ - 使用 makefile 和 g++ 链接到静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31440309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com