Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇2818:
Tinycobol on Cygwinでリンケージができません。 [ゆにゆに] 04/20 15:51

 └◇2820:Re:Tinycobol on Cygwinでリンケージができません。 [もぐりん] 04/21
  └◇2868:Re[2]:Tinycobol on Cygwinでリンケージができません。 [ゆにゆに] 05/11 <


2818● Tinycobol on Cygwinでリンケージができません。[ ゆにゆに ] 2005 04/20 15:51
OSがWindows2000のパソコンにCOBOLの環境を構築しています。
そこで下記をインストールしました。
 @Cygwin
 Adb-1.86-1.cygwin.tar.gz
 Btinycobol-0.61-1.cygwin.tar.gz
 ※ABはCygwinのカレントディレクトリでtarコマンドにて解凍

早速'HELLO WORLD!'を表示するだけのプログラムをコンパイル&リンクしてみたら、以下メッセージが出力され、失敗しました。

$ htcobol hello.cob
/usr/lib/libhtcobol.a(fileio.o)(.text+0x723):fileio.c: undefined reference to `_dbopen'
/usr/lib/libhtcobol.a(fileio.o)(.text+0x818):fileio.c: undefined reference to `_dbopen'
/usr/lib/libhtcobol.a(fileio.o)(.text+0x45b9):fileio.c: undefined reference to `_dbopen'
Info: resolving __impure_ptr by linking to __imp___impure_ptr (auto-import)
collect2: ld returned 1 exit status

ちなみに「-c」オプションを付けてコンパイルだけをするなら問題なくできるので、リンクはgccからリンクしてみました。

$ htcobol -c hello.cob
⇒成功!オブジェクトファイルが作成される。しかし。。。

$ gcc -o hello hello.o -lm -lhtcobol -ldb
⇒以下のメッセージが出力され、実行ファイルが作成できません。

/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../i686-pc-cygwin/bin/ld: cannot
find -lhtcobol
collect2: ld returned 1 exit status

原因がお解りになる方、よろしくお願いします。
スレッド一覧


2820● Re:Tinycobol on Cygwinでリンケージができません。[ もぐりん ] 2005 04/21 17:32
ここだけ。

> $ gcc -o hello hello.o -lm -lhtcobol -ldb
> ⇒以下のメッセージが出力され、実行ファイルが作成できませ> ん。

> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../i686-pc-cygwin/bin/ld: cannot
> find -lhtcobol
> collect2: ld returned 1 exit status

単にhtcobolという名前のライブラリが見つからないのでは?
/usr/libの下や、/usr/local/libなどを探してライブラリのパスが適切に設定されているか環境変数を確認しましょう。
スレッド一覧


2868● Re[2]:Tinycobol on Cygwinでリンケージができません。[ ゆにゆに ] 2005 05/11 10:22
返信ありがとうございます。
試してからお礼をと思い遅くなってしまいました。
また、よろしくお願いします。
スレッド一覧

早田のホームページへ
CGIROOM