提问人:Zoltán Jéhn 提问时间:9/12/2017 最后编辑:Vladimir F Героям славаZoltán Jéhn 更新时间:8/16/2018 访问量:459
(libgfortran.a) 绝对符号“_strtoflt128”用作 REL32 搬迁的目标
(libgfortran.a) Absolute symbol '_strtoflt128' used as target of REL32 relocation
问:
我正在尝试在Windows上将Fortran代码与C++链接。Fortran 代码是使用 MinGW 的 gfortran 编译的,其他 C++ 部分是使用 MSVC 编译的。
问题是链接器生成以下错误消息:
libgfortran.a(read.o):错误 LNK2016:绝对符号“_strtoflt128”用作 REL32 重定位的目标
借助英特尔 fortran 编译器,它可以正常工作。
工具:
革奴堡垒 6.3.0
MSVC 2013 大会
我使用了 CMake 生成的 Visual Studio 项目,该项目会自动调用 Microsoft 链接器。链接器参数(已清理):
/MANIFEST /NXCOMPAT /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib" "libgfortran.a" "libmingwex.a" "libmingw32.a" "libquadmath.a" "libgcc_s.a" "libgcc.a" "libgcc_eh.a" /MACHINE:X86 /SAFESEH:NO /INCREMENTAL:NO /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ERRORREPORT:PROMPT /NOLOGO /TLBID:1 /machine:X86 /NODEFAULTLIB:"libcpmt.lib"
我也在 64 位上进行了测试,它产生了相同的错误。
答: 暂无答案
评论
strtoflt128
用于将字符串转换为实体(即四精度)。您可能需要在 -lquadmath 中链接。REAL(16)