f2py erf函数lnk2019未解决的外部符号错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了f2py erf函数lnk2019未解决的外部符号错误相关的知识,希望对你有一定的参考价值。
我试图使用命令f2py:
C:Python27python.exe setup.py build_ext --inplace --fcompiler=g95
我的Fortran文件是:
module test_f90
implicit none
real *8 :: delta
contains
subroutine test_f(val, r)
real*8, intent(out) :: val
real*8, intent(in) :: r
val = 0.5*( 1 + erf(r/delta) )
end subroutine
end module test_f90
但我有这个错误:
test_fmod.o : error LNK2019: unresolved external symbol __g95_erf_r8 rÚfÚrencÚ d
ans la fonction _test_f90_MP_test_f
_test_f90.pyd : fatal error LNK1120: 1 externes non rÚsolus
error: Command "C:Program Files (x86)Microsoft Visual Studio 9.0VCBINlink.e
xe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:Python27libs /LIBPATH:C:Python27P
Cbuild /LIBPATH:C:Python27PCVS9.0 /LIBPATH:C:Python27libs /LIBPATH:C:Pytho
n27PCbuild /LIBPATH:C:Python27PCVS9.0 /EXPORT:init_test_f90 build emp.win32
-2.7Releaseuildsrc.win32-2.7\_test_f90module.obj build emp.win32-2.7Releas
euildsrc.win32-2.7fortranobject.obj build emp.win32-2.7Release est_fmod.o
build emp.win32-2.7Releaseuildsrc.win32-2.7\_test_f90-f2pywrappers2.o /OUT
:_test_f90.pyd /IMPLIB:build emp.win32-2.7Releaseuildsrc.win32-2.7\_test_f9
0.lib /MANIFESTFILE:build emp.win32-2.7Releaseuildsrc.win32-2.7\_test_f90.p
yd.manifest" failed with exit status 1120
如果我用val = 0.5*( 1 + erf(r/delta) )
替换线val = 0.5*( 1 + sin(r/delta) )
f2py效果很好。所以问题是由于erf
功能,但我不知道为什么。我认为sin
和erf
是同一种功能?
答案
如OP所报告的那样,使用gcc 4.1.2和g95 0.93来实现这一目标。
以上是关于f2py erf函数lnk2019未解决的外部符号错误的主要内容,如果未能解决你的问题,请参考以下文章
LNK2019:未解析的外部符号 _main 在函数 ___tmainCRTStartup 中引用
LNK2019“未解析的外部符号”错误(C++ OpenGL)