Python ImportError-未定义符号-自定义C ++模块

Python ImportError-未定义符号-自定义C ++模块,第1张

Python ImportError-未定义符号-自定义C ++模块

解决方案是在g ++命令行上将生成的模块名称放在它依赖的其他模块之前。

g++ -fPIC -shared -o mymodule.so mymodule.cpp `pkg-config --cflags --libs python` `pkg-config --cflags --libs opencv` -I/usr/local/include/opencv2/legacy

gcc手册页中提到了该

-l
选项,

在命令中写入此选项的位置会有所不同。链接器按照指定的顺序搜索和处理库和目标文件。因此,

foo.o -lzbar.o
在文件foo.o之后但在bar.o之前搜索库z。如果bar.o引用z中的函数,则可能不会加载这些函数。

由于mymodule.so的名称是在应该链接到的库之前提供的,因此它们实际上都没有链接到生成的.so文件。

感谢@JFSebastian指出其

-l
工作原理。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5008709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存