小编Zol*_*éhn的帖子

(libgfortran.a)绝对符号'_strtoflt128'用作REL32重定位的目标

我试图在Windows上使用C++链接Fortran代码.Fortran代码是使用MinGW的gfortran编译的,其他C++部分是用MSVC编译的.

问题是链接器生成以下错误消息:

libgfortran.a(read.o):错误LNK2016:绝对符号'_strtoflt128'用作REL32重定位的目标

使用英特尔fortran编译器可以正常工作.

工具:

GNU 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"
Run Code Online (Sandbox Code Playgroud)

我也测试了64位,它会产生相同的错误.

fortran mingw cmake linker-errors visual-studio

8
推荐指数
0
解决办法
214
查看次数

标签 统计

cmake ×1

fortran ×1

linker-errors ×1

mingw ×1

visual-studio ×1