[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:46842] Re: Xウィンドグラフィックライブラリをリンクしたしい−2



武藤様

有り難うございました。

「Debian・・・徹底入門」をじっくり読んでから、
質問させて頂きます。
著者本人とは知りませんで、失礼致しました。

心強い方々から、ご返事を頂けるのは、励みになります。
しばらく、トライアンドエラーを繰り返してみます。
kenoka

新しい話題を「返信」で、特定の話題について毎回「新規」で起こす
のも、どちらも悪いことである、とご理解ください。
とは、どのようにメールするのでしょうか? 出せなくなりそうです。



----- Original Message ----- From: "Kenshi Muto" <kmuto@xxxxxxxx>
To: <debian-users@debian.or.jp>
Sent: Thursday, July 06, 2006 9:52 AM
Subject: [debian-users:46840] Re: Xウィンドグラフィックライブラリをリンクしたしい−2


武藤@Debianぷろじぇくとです。

新しい話題を「返信」で起こすのも、特定の話題について毎回「新規」で起こす
のも、どちらも悪いことである、とご理解ください。

At Thu, 6 Jul 2006 11:36:14 +0900,
KenOka_hotmail wrote:
g77のリンク時に -L・・・ を -l/usr/X11R6/lib/libX11.a としたら、
今度は、「collect2: ld はステータス 1 で終了しました」となり、
「man g77」や「man ld」を見ましたが、エラー内容が把握できません。

何処を見たら、その原因が判るのでしょうか?

それでもやっぱりmanを見ればわかるはず?あとはセンスの問題になり
そうです。

man ldだと、
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
-lar   アーカイブファイル ar をリンクするファイルのリストに加える。この
オプションは何回でも指定できる。 ld は ar が指定されるごと に 、
             libar.a が見つかるまで検索パスを探す。


      -Lsearchdir
             こ のコマンドは searchdir を ld の書庫ライブラリの検索パスに追加
             する。このオプションは必要なだけ指定できる。

デフォルトの検索パス (-L が指定されなかったときの検索パス) は ld
             が用いているエミュレーションのモードに依存する。また設定に依存す
             る場合もある。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
LANG=C man ldとすれば英語のほうでも読めますね。

      -larchive
      --library=archive
Add archive file archive to the list of files to link. This option may be used any number of times. ld will search its path-list for
          occurrences of "libarchive.a" for every archive specified.

On systems which support shared libraries, ld may also search for libraries with extensions other than ".a". Specifically, on ELF and SunOS systems, ld will search a directory for a library with an extension of ".so" before searching for one with an extension of ".a". By convention, a ".so" extension indicates a shared library.

The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a sym- bol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropri- ate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the
          linker to search the archive again.

(ふむ、英語のほうはだいぶアップデートされてるな…)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

-lにはlib〜.aのうち「〜」の箇所だけを指定します。
あるいは-lや-Lを指定せずに直接フルパスのアーカイブファイルをつけるか。

#ご購入いただいた書籍のp.313〜314に書いてあるんだけどな。
--
武藤 健志@ kmuto @ kmuto.jp
          Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
          株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)