電気ウナギ的○○

About Home

MinGW と GnuCOBOL(OpenCOBOL)のインストールメモ<完結編>

shinoda (2016年1月10日 13:32)
注:前編後編も併せてお読みください。

なんで、うまくいかんのか、cl.exe のエラーメッセージとか見れないと調べようがないやん・・・と諦めてたんだけど・・・

ああ、ちゃんと「Display the commands invoked by the compiler」というオプションあるやん(^^;

俺がバージョン表示と間違えていた -v オプションがまさにそれだった。
これで原因わかるかも・・・と思って実行してみたら。

$ cobc -x -v test2.cob
Loading standard configuration file 'default.conf'
Command line:   c:\usr\local\MinGW\bin\cobc.exe -x -v test2.cob
Preprocessing:  test2.cob -> C:/Users/shinoda/AppData/Local/Temp\cob12176_0.cob
Return status:  0
Parsing:        C:/Users/shinoda/AppData/Local/Temp\cob12176_0.cob (test2.cob)
Return status:  0
Translating:    C:/Users/shinoda/AppData/Local/Temp\cob12176_0.cob -> C:/Users/shinoda/AppData/Local/Temp\cob12176_0.c (test2.cob)
Executing:      cl /c -I "C:\GnuCobol" -I "C:\GnuCobol\build_windows" /MD
                /Fo"C:/Users/shinoda/AppData/Local/Temp\cob12176_0.obj"
                "C:/Users/shinoda/AppData/Local/Temp\cob12176_0.c"
Microsoft(R) C/C++ Optimizing Compiler Version 18.00.30501 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

cob12176_0.c
C:/Users/shinoda/AppData/Local/Temp\cob12176_0.c(8) : fatal error C1083: include ファイルを開けません。'stdio.h':No such file or directory
Return status:  2

ああ、include ファイルへのパスが通ってないんか・・・

Windows の環境変数に 

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include

を追加して、コマンドプロンプトから実行してみると、今度は

C:\Users\shinoda\AppData\Local\Temp\cob13960_0.c(14) : fatal error C1083: includ
e ファイルを開けません。'libcob.h':No such file or directory

だって。うーむ・・・
cl.exe で読み込んでも大丈夫なもんやろか?取り敢えずパス通してやってみようか。

/out:test2.exe
/manifest
/LIBPATH:C:\GnuCobol\build_windows\win32\release
libcob.lib
C:\Users\shinoda\AppData\Local\Temp\cob6096_0.obj
LINK : fatal error LNK1181: 入力ファイル 'libcob.lib' を開けません。
Return status:  2

よしよし。かなり近づいてきたで(笑)
LIBPATH にライブラリのパスを追加すればいいんか?あ、LIBPATH じゃなく環境変数 LIB か。
他にも読み込めない lib ファイルがいくつかあったので、そのパスも全て設定。

C:\usr\local\MinGW\lib
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib

さあ、どうだ!?

'mt' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

ええ!?

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin

これを PATH に追加か?

C:\GnuCobol\bin>cobc -x -v test2.cob
Loading standard configuration file 'default.conf'
Command line:   cobc -x -v test2.cob
Preprocessing:  test2.cob -> C:\Users\shinoda\AppData\Local\Temp\cob14512_0.cob
Return status:  0
Parsing:        C:\Users\shinoda\AppData\Local\Temp\cob14512_0.cob (test2.cob)
Return status:  0
Translating:    C:\Users\shinoda\AppData\Local\Temp\cob14512_0.cob -> C:\Users\s
hinoda\AppData\Local\Temp\cob14512_0.c (test2.cob)
Executing:      cl /c -I "C:\GnuCobol" -I "C:\GnuCobol\build_windows" /MD
                /Fo"C:\Users\shinoda\AppData\Local\Temp\cob14512_0.obj"
                "C:\Users\shinoda\AppData\Local\Temp\cob14512_0.c"
Microsoft(R) C/C++ Optimizing Compiler Version 18.00.30501 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

cob14512_0.c
Return status:  0
Executing:      cl /MD /Fe"test2.exe"
                "C:\Users\shinoda\AppData\Local\Temp\cob14512_0.obj" /link
                /manifest /LIBPATH:"C:\GnuCobol\build_windows\win32\release"
                libcob.lib
Microsoft(R) C/C++ Optimizing Compiler Version 18.00.30501 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) Incremental Linker Version 12.00.30501.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:test2.exe
/manifest
/LIBPATH:C:\GnuCobol\build_windows\win32\release
libcob.lib
C:\Users\shinoda\AppData\Local\Temp\cob14512_0.obj
Return status:  0
Executing:      mt /manifest "test2.exe.manifest"
                /outputresource:"test2.exe";#1
Microsoft (R) Manifest Tool version 6.1.7716.0
Copyright (c) Microsoft Corporation 2009.
All rights reserved.
Return status:  0

おお!!

正常終了したぞ!!

C:\GnuCobol\bin>dir
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は E476-CFF0 です

 C:\GnuCobol\bin のディレクトリ

2016/01/10  13:26    <DIR>          .
2016/01/10  13:26    <DIR>          ..
2015/12/29  08:12            11,776 CBL_OC_DUMP.dll
2015/12/29  08:01           560,640 cobc.exe
2015/12/29  08:01            10,752 cobcrun.exe
2015/12/29  08:01           211,968 libcob.dll
2014/06/20  23:34            78,848 libvbisam.dll
2014/08/28  04:45           462,848 mpir.dll
2014/08/28  05:32           154,624 pdcurses.dll
2016/01/09  22:28               168 test2.cob
2016/01/10  13:26             7,168 test2.exe
               9 個のファイル           1,498,792 バイト
               2 個のディレクトリ  765,126,201,344 バイトの空き領域

おお!!
素晴らしい。test2.exe できてるやん!

早速実行してみる!!

C:\GnuCobol\bin>test2
Hello World!

おお!!!無事実行できましたぞ!!

こんにちわ!!世界!!

というわけで、GnuCOBOL(OpenCOBOL)でちょっとしたテストくらいは出来そうですなあ。

まあ、この COBOL 案件自体、まだ受注したわけでもなんでもないんで、単に休日の1日を無駄にしただけかもしれませんが(笑)

しかし、これ、COBOL しか使えないようなおっさんプログラマが自宅の Windows 機に環境作ろうと思ったらおおごとやで(笑)
VisualStudio とか入れてないと駄目やし(笑)

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/3759

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE