0

含まれているソース ファイルのプリプロセッサ ディレクティブで指定されていない場合でも、makefile 内のライブラリはコンパイルに追加されますか? 問題のメイクファイルを以下に示します。lF77 と lI77 は未指定のライブラリを指します。ありがとう。

メイクファイル:

composite: maincomp.c screenio.c cscreens.c turbine.c stat.c decide.c    file.c\
          sys.c dummy.c util.c cglobal.h composite.h cscreens.h f2c.h\
          maincomp.h screenio.h turbine.h util.h makefile   gcc maincomp.c screenio.c cscreens.c turbine.c stat.c decide.c util.c\
           file.c dummy.c sys.c -I/usr/5include -L/home/boltoj/f2c/libF77\
           -lF77 -L/home/boltoj/f2c/libI77 -lI77 -L/usr/5lib -lcurses -lm\
           -o composite -g
4

1 に答える 1

0

リンカーは、未解決のシンボルを解決するライブラリ内のリンクのみをリンクします。つまり、ライブラリがオブジェクトファイルに必要なシンボルを提供していない場合、そのライブラリはリンクされません。

于 2012-06-22T12:49:20.997 に答える