[问题] linux呼叫so函式,执行出现undefined s..

楼主: asd24693120 (曙光)   2021-02-16 00:28:19
各位前辈好,目前遇到了一个问题,在建置so library档时,呼叫内部函式出现了undefi
ned symbol,目前完全不知道解决的方向,希望各位前辈能够指导
https://i.imgur.com/7yepT73.jpg
这是我的程式码
https://glot.io/snippets/fvwlmsu43t
这是123.py的程式码
https://glot.io/snippets/fvwz2xprsu
作者: oToToT (屁孩)   2021-02-16 00:36:00
你的.so怎么生的?
作者: zerof (猫橘毛发呆雕像)   2021-02-16 05:21:00
不用 include Python.h?你如果只有要用几个 function 的话参考 ctypes 看看
作者: Falldog (Yo)   2021-02-17 11:16:00
1. 没有link到完整的lib 2. python不能直接call C++ func需要用extern "C" {} 的方式宣告 function
作者: zerof (猫橘毛发呆雕像)   2021-02-20 02:31:00
header & cpp 里面只看到两个 functions 所以才说你如果只有几个的话可以考虑用 ctypes (另外在 code 里面没看到 square 的 definition, 不过我 cpp 不熟也不太确定这样有没有问题...)

Links booklink

Contact Us: admin [ a t ] ucptt.com