f2py 如何修复未找到符号错误如 ___kmpc_begin

-3 投票
1 回答
1003 浏览
提问于 2025-04-30 17:42

我现在遇到了一个错误:2): 找不到符号 ___kmpc_begin。我之前也遇到过其他找不到符号的错误,但这个信息没有告诉我该怎么解决这个问题。

如果有帮助的话,我是用 ifort 编译代码,使用的命令是: f2py -c --fcompiler=intelem --f77exec=/usr/bin/ifort -m main main.f

我应该去哪里查找,才能弄明白这个找不到符号的错误是什么意思,以及怎么解决它呢?

暂无标签

1 个回答

0

这个错误的意思是,f2py创建的.so文件里没有包含某个库。可能这里有一些额外的库文件和命令选项你并不需要,但至少这给了我们一个线索,告诉我们怎么解决“找不到符号”的错误。

要解决“2): 找不到符号 ___kmpc_begin”的问题,我做了以下步骤,不过你可以把这个思路用在其他“找不到符号”的错误上。

首先运行这个命令:

f2py -m main -h sgnFile.pyf main.f

然后运行这个命令:

f2py -c --fcompiler=intelem --f77exec=/usr/bin/ifort -L/opt/intel/composer_xe_2015.0.077/mkl/lib -L/opt/intel/composer_xe_2015.0.077/compiler/lib -llibiomp5 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_intel_thread -lpthread -lm -m main sgnFile.pyf main.f *.o

我把intel文件夹里的文件放在了包含main.f文件的同一个文件夹里,这样我就能用pycharm来编译我的应用程序,所以你可能也需要这样做。

希望这能帮到你!

撰写回答