macos - 使用 gfortran 编译 Fortran 函数:目标文件是为比链接更新的 macOS 版本构建的
问题描述
给定一个非常简单的 fortran (95) 函数和对程序的非常简单的 c++ 调用,我应该能够使用以下命令编译程序:
g++ -c main1.cpp
gfortran -c test.f95
g++ main1.o test.o -o run
但是,在这里我收到以下错误:
ld: warning: object file (test.o) was built for newer macOS version (11.5) than being linked (11.0)
Undefined symbols for architecture arm64:
"hello_()", referenced from:
_main in main1.o
"__gfortran_st_write", referenced from:
_hello_ in test.o
"__gfortran_st_write_done", referenced from:
_hello_ in test.o
“__gfortran_transfer_character_write”,引用自: test.o ld 中的hello:未找到架构 arm64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
在这里,在-v
标签之前-o
和之后-o
添加标签并运行exe并没有解决问题,如错误消息所示。
解决方案
推荐阅读
- android - 将 SDK 版本 26 更改为 28 时如何修复 Gradle 错误
- c# - How to replace string's words first and last characters
- powershell - 如何使用 Powershell 限制复制文件?
- javascript - 如何从 Google Maps Searchbox 中获取价值并推送到新的 div 标签?
- c - C中的多级管道
- javascript - 如何呈现 HTMLCollection 项目?
- python - 如何获取用户当前系统主题颜色
- sql - 如何使用简单的翻译功能更新 clob 数据类型字段中的 xml 数据?
- ios - 我不知道使用 UIView.animate 或创建 UIImageView 方法有什么问题。我正在使用快速语言
- tortoisegit - 如何在 tortoisegit 中设置 libgit2 而不是 git.exe?