gpt4 book ai didi

python - 如何链接 libpython.a 以便运行时链接器可以找到 libpython.a 中的所有符号?

转载 作者:行者123 更新时间:2023-12-01 00:00:31 24 4
gpt4 key购买 nike

this question 的后续问题中,我的企业环境缺少 libpython2.6.so 共享对象,但有 libpython2.6.a 文件。有没有一种方法可以在 libpython2.6.a 中进行编译,同时保留 libpython2.6.a 中的符号,以便动态库可以在运行时找到这些符号?

我当前使用静态库的编译如下所示:

g++ -I/usr/CORP/pkgs/python/2.6.2/include/python2.6 \
~/tmp.cpp -pthread -lm -ldl -lutil \
/usr/CORP/pkgs/python/2.6.2/lib/python2.6/config/libpython2.6.a \
-o tmp.exe

但是,如果我加载像“math”这样的模块,它就会消失:

undefined symbol: PyInt_FromLong

最佳答案

您需要将 --export-dynamic 传递给链接器。所以从 g++ 来看,它是......

g++ -Wl,--export-dynamic ...

关于python - 如何链接 libpython.a 以便运行时链接器可以找到 libpython.a 中的所有符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1472828/

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