对“_gfortran_transfer_character_write”的未定义引用
Posted
技术标签:
【中文标题】对“_gfortran_transfer_character_write”的未定义引用【英文标题】:undefined reference to `_gfortran_transfer_character_write' 【发布时间】:2020-05-10 03:37:30 【问题描述】:===================================== 以下命令行用于“hello world”
program
/usr/bin/gfortran -std=f95 -Wextra -Wall -O2 -c main.for
===================================== 产生以下错误。
cc -std=f95 -Wextra -Wall -O2 main.o -o main
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.o: in function `MAIN__':
main.for:(.text+0x2a): undefined reference to `_gfortran_st_write'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.for:(.text+0x3c): undefined reference to `_gfortran_transfer_character_write'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.for:(.text+0x44): undefined reference to `_gfortran_st_write_done'
/usr/lib64/gcc/x86_64-suse-linux/7/../../
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.for:(.text.startup+0x14): undefined reference to `_gfortran_set_options'
collect2: error: ld returned 1 exit status../../x86_64-suse-linux/bin/ld: main.o: in function `main':
main.for:(.text.startup+0x5): undefined reference to `_gfortran_set_args'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.for:(.text.startup+0x14): undefined reference to `_gfortran_set_options'
collect2: error: ld returned 1 exit status
make: *** [makefile:44: main] Error 1
【问题讨论】:
Hello world
的例子似乎不见了...
【参考方案1】:
windows+cygwin 和 linux 都会出现这个错误。
在这两种情况下都安装了两个版本的 gfortran,默认 V7 和用户配置的 V8。
使用 >gfortran --version 检查安装,在两种情况下(windows+cygwin 和 linux)都有效,没有错误。
========================== 我的解决方案 是首先根除所有版本的 gfortran,然后重新安装默认版本。 我仍在研究如何安装用户配置的版本。
【讨论】:
以上是关于对“_gfortran_transfer_character_write”的未定义引用的主要内容,如果未能解决你的问题,请参考以下文章