技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

Windows上にopensource COBOLの環境を構築してみた

こちらのページを参考に opensource COBOL ベースのCOBOL実行環境をWindows(64bit)上に構築し、HELLO WORLD まで確認できました。
 
Install_win ・ opensourcecobol-opensource-cobol WikiGitHub

https://github.com/opensourcecobol/opensource-cobol/wiki/Install_win

 
HELLO WORLD を実行するにあたっては、以下の作業が足りなかったので追加しています。
 
1.osscobolフォルダ(COBOL開発用フォルダ)に以下のファイルを追加
・osscobol\include
 Windows Kits\(中略)\ucrt\*.h
 Microsoft Visual Studio\(中略)\include\*.h ※ファイル名被りは上書きしない
・osscobol\lib
 Microsoft Visual Studio\(中略)\lib\x64\*.lib
 Windows Kits\10\(中略)\um\x64\*.lib ※ファイル名被りは上書きしない
 Windows Kits\10\(中略)\ucrt\x64\*.lib
 
2.以下のパスを通す(環境変数「PATH」に追加)
 osscobol\bin ※cobc.extの実行で必要
 Microsoft Visual Studio\(中略)\bin\Hostx64\x64 ※cl.exeの実行で必要
 Windows Kits\10\bin\(中略)\x64 ※mt.exeの実行で必要
 
3.COBOLソース(.cob)の作成
 私が作成したCOBOLソース(HELLO WORLD)は以下。
       IDENTIFICATION DIVISION.
       PROGRAM-ID. COBHELLO.
       ENVIRONMENT DIVISION.
      *
       DATA DIVISION.
      *
       WORKING-STORAGE SECTION.
       01  WK-1.
           03 X-TYPE                    PIC X(12).
      *
       PROCEDURE DIVISION.
       MAIN-RTN.
           MOVE 'HELLO WORLD!'          TO X-TYPE.
           DISPLAY                      WK-1.
           STOP RUN.
       MAIN-END.
 
4.コンパイルを行う
 コマンドプロンプト上で行う。
 コンパイルコマンドは「cobc -x (COBOLソースのパス)」。
 コンパイルはosscobol\libフォルダに移動して実行。
 (libをどの設定項目で指定するのか不明のため)
 
 コンパイルコマンドがエラー無く返ってくればOK。
 COBOLソースが存在する場所に実行ファイル(.exe)が生成される。
 
5.実行する
 コマンドプロンプト上で実行ファイルのパスを入力し実行。

f:id:akira2kun:20180922164138j:plain

-------------------------
 
2019/07/17 追記
 
1.私が実施した手順を手順書としてまとめましたので、参考までに展開します。
 https://1drv.ms/b/s!AivF3bzWXOzuhixXk5hscKYqkLkM

 
2.COMPUTE命令を使用する場合は、コンパイル時にlibを指定する必要があります。
 cobc -x ..\src\~.cob -l c:\~\lib\mpir.lib
  ※詳細はコメントを参照して下さい。

 
-------------------------
 
2022/01/15 追記
 
この手順を今試した場合、MSVCRT.libの場所が変わっているかもしれません。
詳細は以下の記事のコメントを参照して下さい。

https://akira2kun.hatenablog.com/entry/2018/10/23/003747