如何使用MinGW gfortran通过CMake构建/编译Fortran

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用MinGW gfortran通过CMake构建/编译Fortran相关的知识,希望对你有一定的参考价值。

参考技术A 第一步:将程序写成函数的形式,用参数规范接口,所要编译的函数要写成SUBROUTINE的格式
---------------------------------------------------------------
SUBROUTINE T96_01(IOPT,PARMOD,PS,X,Y,Z,BX,BY,BZ)本回答被提问者采纳

如何使用 CMake 在 MinGW 上激活 c++11 支持?

【中文标题】如何使用 CMake 在 MinGW 上激活 c++11 支持?【英文标题】:How to activate c++11 support on MinGW using CMake? 【发布时间】:2013-02-03 15:15:03 【问题描述】:

我已经安装了最新版本的 MinGW/MSYS 环境。现在我尝试激活 c++11 标准支持。我已添加到我的 cmake 脚本中:

SET(CMAKE_CXX_FLAGS "$CMAKE_CXX_FLAGS -Wall -std=gnu++0x")

如果我尝试构建一个简单的测试。我得到以下编译失败:

error: 'shared_ptr' is not a member of 'std'

在我看来,没有设置 c++11 支持。如果我从代码中删除 std::shared_ptr 声明并尝试编译 chrono 库的一些代码,它就可以工作。这让我很困惑。 为什么支持一些 c++11 库,但是 shared_ptr 等核心元素却失败了?

我需要做一些额外的事情来启用智能指针还是它们不存在?

【问题讨论】:

你到底使用什么编译器? #include <memory>了吗? 在问题中包含版本号。 “最新”在很长一段时间内都不会准确。 感谢包含内存的提示。这被误导性地注释掉了 【参考方案1】:

您可以/应该(也)使用 -std=c++0x 以便不启用 g++ 扩展。

确保#include <memory>

【讨论】:

以上是关于如何使用MinGW gfortran通过CMake构建/编译Fortran的主要内容,如果未能解决你的问题,请参考以下文章

gfortran中对`sleep`和`sizeof` instrinsics的未定义引用

MinGw Gcc / Gtk+3 / Cmake 编译程序. 如何去掉控制台窗口?

CMake c++ 库链接

OpenBLAS + MinGW64 静态链接?

Cmake与MinGW配合使用

cmake 多目录管理