您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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 -lz bar.o文件foo.o之后但在bar.o之前搜索库z。如果bar.o引用z中的函数,则可能不会加载这些函数

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

感谢@JFSebastian指出其-l工作原理。

python 2022/1/1 18:36:52 有234人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶