最新版本6sV2.1模型是通过FORTRAN95编写的,2017年11月代码编写完成,2018年11月发布在模型官网上。通常我们在使用过程中都是调用模型的.exe可执行文件,而下载下来的是FORTRAN源码,从源码到.exe我们需要经历一道编译的工作,如果不是特别熟悉可能会走很多弯路,目前网上关于编译的教程也是良莠不齐,参考一些教程,在自己的摸索下,在Win 10环境下成功的编译了6sV2.1FORTRAN源码。

编译过程主要有两步组成:1编译器下载与安装,2编译

1编译器下载与安装

FORTRAN编译器推荐使用自由的开源免费软件gfortran,现在是GCC的一部分,在Windows上使用最简单的办法是直接安装Code::Blocks IDE。

首先在官网上下载Code::Blocks软件,网址为https://www.fosshub.com/Code-Blocks.html?dwl=codeblocks-17.12-setup.exe 选择版本Code Blocks Windows Installer (GNU C/C++/Fortran Compiler and Debugger) 下载安装即可。

安装参考教程:https://blog.csdn.net/hrainning/article/details/80607882

2编译

Code::Blocks安装完成后,便自动安装了GCC的C/C++/Fortran编译器,编译器在Code::Blocks安装路径MinGW文件夹下bin文件夹内,我装在了D盘,因此我的路径如下。

D:\Program Files(x86)\CodeBlocks\MinGW\bin在这一路径下你可以找到有mingw32-make.exe文件,这个就是我们主要用到的文件了。

环境变量配置

右键“我的电脑”→“更改设置”→“高级”→“环境变量”,在系统变量中,找到path,添加上路径D:\Program Files(x86)\CodeBlocks\MinGW\bin

下载6SV2.1并解压。

编译6S模型。

以管理员身份打开cmd.exe,cd命令进入到6S模型源码所在的目录(即解压后.f文件所在的文件夹),在命令提示行输入 mingw32-make 命令进行编译。编译成功后在原文件夹下得到无后缀名的sixsV2.1即是编译后的可执行文件。

参考:

  1. http://6s.ltdri.org/index.html(6S模型主页、代码下载、获取用户手册)
  2. http://www.codeblocks.org(Fortran编译器)
  3. https://py6s.readthedocs.io/en/latest/index.html(py6S、面向python调用6S模型的接口)
  4. https://blog.csdn.net/sam92/article/details/50390556(6S模型修改源码添加、自定义卫星光谱响应)
  5. https://blog.csdn.net/xm379303813/article/details/7213071(控制台exe程序的自动运行问题——以6S模型6s.exe为例)

Win 10环境下6sV2.1模型编译心得的更多相关文章

  1. WIN 10环境下JDK的安装和环境配置

    在做测试的过程中,诸如Selenium.Appium.Macaca.Airtest.RobotFramework.Jmeter等框架或工具都需要用到一样基础的环境JAVA JDK.最近刚好换了电脑,就 ...

  2. android源码环境下用mmm/mm编译模块,输出编译log到文件的方法

    android源码环境下用mmm/mm编译模块,输出编译log到文件的方法 1,在android目录下直接用mmm命令编译, log信息保存在android目录下 mmm packages/apps/ ...

  3. Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)

    https://blog.csdn.net/shinesun001/article/details/54312402 在centos 7环境下搭建好Lnmp环境之后,发现安装的php有好多扩展都没有安 ...

  4. Windows10 + VS2015 (Win SDK10)环境下的64位 VTK编译小结

    之前在学习vtk过程中,感觉vtk的编译还是很简单的,基本上不会碰到什么棘手的错误.但是,当我在Win10+VS2015这个环境下配置时,却遇到了麻烦.经过一番折腾之后,终于将vtkbian编译成功了 ...

  5. Windows环境下的RTKPlot_Qt版本编译时遇到的问题和解决方法

    在使用了 RTKLIB开源包自带的 rtkplot.exe后,知道了它所具有的功能,就想着如何模仿它做出一个 demo.一开始看的是之前下载的 2.4.2版本的 RTKLIB,里面是使用 Delphi ...

  6. Android Studio2.1.2 Java8环境下引用Java Library编译出错

    转载请注明出处:http://www.cnblogs.com/LT5505/p/5685242.html 问题:在Android Studio2.1.2+Java8的环境下,引用Java Librar ...

  7. qt5.11.2+vs2017环境下opencv3.4.1编译配置

    OpenCV是一个开源的计算机库,它可以帮助视觉工作者做很多富有创造性的工作,在图像处理领域扮演着重要的角色.由于opencv3.x的存在,不管你是学生还是研究人员,是专家还是初学者,都可以快速的建立 ...

  8. windows和linux环境下keras的模型框架可视化

    1.简介 keras提供了模型可视化模块,下面讲解下安装教程和简易教程. 2.安装教程 2.1windows环境下的安装 2.1.1安装指定模块 pip install pydot-ng pip in ...

  9. Linux 环境下 网络IO模型

    本文讨论的背景是Linux环境下的network IO. IO发生时涉及的对象和步骤: 对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的proce ...

随机推荐

  1. 突然萌发关于 redis 的想法(2)

    接着上篇的说.. 上一篇 : 突然萌发关于 Redis 的想法(1) 今天写商城的时候突然发现,其实商城这种 频繁操作,频繁更新, 等操作,都只需要全部存储在 Redis 中就行了, 可能有部分数据会 ...

  2. linux其他

    1.安装上传下载指令 sz/rz yum install -y lrzsz 2.flask+gunicorn 代码更新升级部署 ps -ef | grep gunicorn 获取master进程 ki ...

  3. 点云赋值 PointCloudT::Ptr 运行时崩溃

    PointCloudT::Ptr cloud; cloud.reset(new PointCloudT); cloud->points.resize(500);for(int index =0; ...

  4. EasyUEFI---EFI/UEFI boot option management

    EasyUEFI owns comprehensive EFI/UEFI boot option management functions, such as create, delete, edit, ...

  5. jquery实现图片切换

    <div> <img class="imgclick" src="img/pic1.png" /> </div> <s ...

  6. Java面向对象6 (AA - AE)

    整理音乐(SDUT 2053) import java.util.*; public class Main { public static void main(String[] args) { Sca ...

  7. (转)Redis Cluster(集群)

    一.概述 在前面的文章中介绍过了redis的主从和哨兵两种集群方案,redis从3.0版本开始引入了redis-cluster(集群).从主从-哨兵-集群可以看到redis的不断完善:主从复制是最简单 ...

  8. express中的中间件(middleware)、自定义中间件、静态文件中间件、路由中间件

    express文档地址 什么是中间件呢(middleware)?它是谁的中间件呢? 首先我们需要了解到请求和响应, 请求就是客户端发送请求给服务器, 响应就是,服务器根据客户端的请求返回给客户端的数据 ...

  9. spark源码之SparkContext

    SparkContext可以说是Spark应用的发动机引擎,Spark Drive的初始化围绕这SparkContext的初始化. SparkContext总览 sparkcontxt的主要组成部分 ...

  10. 使用MockMVC与Junit进行单体测试

    1.pom.xml追加 junit spring-test 2.测试共通类 @ContextConfiguration(locations = { "classpath:springfram ...