▼スレッド
│
└◇840:コンパイルがうまくいきません。 [H_N] 12/12 16:13
├◇841:Re:コンパイルがうまくいきません。 [H_N] 12/12
├◇842:Re: コンパイルがうまくいきません。 [foo] 12/12
│└◇844:Re[2]: コンパイルがうまくいきません。 [H_N] 12/12
│ └◇845:Re[3]: コンパイルがうまくいきません。 [bar] 12/12
│ ├◇847:Re[4]: コンパイルがうまくいきません。 [H_N] 12/13
│ └◇848:ありがとうございました。 [H_N] 12/13 <
└◇843:Re:コンパイルがうまくいきません。 [bar] 12/12
お世話になります。スレッド一覧
10年くらい前のプログラムをコンパイル(リンク)した
いのですが、次のようなエラーが出てmakeできません。
どうもプログラムよりも設定を含めcygwinの問題だと思います。
たぶんX関係の問題かとも思いますが、初心者なのでよく分かり
ません。
どなたか、アドバイスをお願いします。
makefileの内容:
g77 -o xycyg -v xycyg.o senksub.o senkcalc.o cklib.o -lXm -lXt -lX11 -lm -L/usr/X11R6/lib
エコーバック及びエラー(あまりに長いのでかなり省略)
Driving: g77 -o xycyg -v xycyg.o senksub.o senkcalc.o cklib.o -lXm -lXt -lX11 -lm -L/usr/X11R6/lib -lfrtbegin -lg2c
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.2/specs
・(省 略)
・
・
・
・
rnel32 -ladvapi32 -lshell32 -lgcc /usr/lib/gcc-lib/i686-pc-cygwin/3.2/crtend.o
/usr/X11R6/lib/libXt.a(Shell.o)(.text+0x3536):Shell.c: undefined reference to `_SmcCloseConnection'・
・
・(以下同様のShell.cのエラーが続く)
・
・
・
SmcSaveYourselfDone'
collect2: ld returned 1 exit status
make: *** [xycyg] Error 1
なお、上のファイルのうち
xycyg.oはC、senksub.o senkcalc.o cklib.oはFORTRAN
プログラムで、それぞれをコンパイルしたときには正常終了
しています。
長くなって申し訳ありませんが、よろしくお願いします。
すみません。上記は質問です。スレッド一覧
> /usr/X11R6/lib/libXt.a(Shell.o)(.text+0x3536):Shell.c: undefined reference to `_SmcCloseConnection'スレッド一覧
> SmcSaveYourselfDone'
これらは libSM.a にあります。
fooさん、barさん、ありがとうございました。スレッド一覧
かなりエラーは少なくなりましたが、同じような内容でまだいくつか出ています。
すみませんが、よろしくお願いいたします。
makefileの内容:
g77 -o xycyg -v xycyg.o senksub.o senkcalc.o cklib.o -lXm -lXt -lX11 -lSM -lXext -L/usr/X11R6/lib
エコーバック及びエラー(今回は省略していません。)
Driving: g77 -o xycyg -v xycyg.o senksub.o senkcalc.o cklib.o -lXm -lXt -lX11 -l
SM -lXext -L/usr/X11R6/lib -lfrtbegin -lg2c
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.2/specs
Configured with: /netrel/src/gcc-3.2-3/configure --enable-languages=c,c++,f77,ja
va --enable-libgcj --enable-threads=posix --with-system-zlib --enable-nls --with
out-included-gettext --enable-interpreter --disable-sjlj-exceptions --disable-ve
rsion-specific-runtime-libs --enable-shared --build=i686-pc-linux --host=i686-pc
-cygwin --target=i686-pc-cygwin --enable-haifa --prefix=/usr --exec-prefix=/usr
--sysconfdir=/etc --libdir=/usr/lib --includedir=/nonexistent/include --libexecd
ir=/usr/sbin
Thread model: posix
gcc version 3.2 20020927 (prerelease)
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/collect2.exe -Bdynamic --dll-search-prefix=
cyg -o xycyg.exe /usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../crt0.o /usr/lib/gc
c-lib/i686-pc-cygwin/3.2/crtbegin.o -L/usr/X11R6/lib -L/usr/lib/gcc-lib/i686-pc-
cygwin/3.2 -L/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../.. xycyg.o senksub.o senk
calc.o cklib.o -lXm -lXt -lX11 -lSM -lXext -lfrtbegin -lg2c -lgcc -lcygwin -luse
r32 -lkernel32 -ladvapi32 -lshell32 -lgcc /usr/lib/gcc-lib/i686-pc-cygwin/3.2/cr
tend.o
/usr/X11R6/lib/libXt.a(Shell.o)(.text+0x37cd):Shell.c: undefined reference to `_
IceConnectionNumber'
/usr/X11R6/lib/libXt.a(Shell.o)(.text+0x3e85):Shell.c: undefined reference to `_
IceProcessMessages'
collect2: ld returned 1 exit status
make: *** [xycyg] Error 1
nishida@HNISHI1 ~/xsenkplot
$ make
g77 -o xycyg -v xycyg.o senksub.o senkcalc.o cklib.o -lXm -lXt -lX11 -lSM -lXext
-L/usr/X11R6/lib
Driving: g77 -o xycyg -v xycyg.o senksub.o senkcalc.o cklib.o -lXm -lXt -lX11 -l
SM -lXext -L/usr/X11R6/lib -lfrtbegin -lg2c
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.2/specs
Configured with: /netrel/src/gcc-3.2-3/configure --enable-languages=c,c++,f77,ja
va --enable-libgcj --enable-threads=posix --with-system-zlib --enable-nls --with
out-included-gettext --enable-interpreter --disable-sjlj-exceptions --disable-ve
rsion-specific-runtime-libs --enable-shared --build=i686-pc-linux --host=i686-pc
-cygwin --target=i686-pc-cygwin --enable-haifa --prefix=/usr --exec-prefix=/usr
--sysconfdir=/etc --libdir=/usr/lib --includedir=/nonexistent/include --libexecd
ir=/usr/sbin
Thread model: posix
gcc version 3.2 20020927 (prerelease)
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/collect2.exe -Bdynamic --dll-search-prefix=
cyg -o xycyg.exe /usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../crt0.o /usr/lib/gc
c-lib/i686-pc-cygwin/3.2/crtbegin.o -L/usr/X11R6/lib -L/usr/lib/gcc-lib/i686-pc-
cygwin/3.2 -L/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../.. xycyg.o senksub.o senk
calc.o cklib.o -lXm -lXt -lX11 -lSM -lXext -lfrtbegin -lg2c -lgcc -lcygwin -luse
r32 -lkernel32 -ladvapi32 -lshell32 -lgcc /usr/lib/gcc-lib/i686-pc-cygwin/3.2/cr
tend.o
/usr/X11R6/lib/libXt.a(Shell.o)(.text+0x37cd):Shell.c: undefined reference to `_
IceConnectionNumber'
/usr/X11R6/lib/libXt.a(Shell.o)(.text+0x3e85):Shell.c: undefined reference to `_
IceProcessMessages'
collect2: ld returned 1 exit status
make: *** [xycyg] Error 1
じゃあ、さらに -lICE を追加。スレッド一覧
なんでそれでうまくいくのか少しは考えてくれよ。
どうも、お手数をお掛けして申し訳ありません。スレッド一覧
エラーの出ている関数を検索して、関連のライブラリーを探そうとしたのですが、見つけることができなく、投稿いたしました。
そのような情報は、どこを見れば分かるのでしょうか?
初心者ですので、向学のため、是非お伺いしたいんですが・・・・・・
重ね重ねお手数をお掛けいたしますが、よろしくお願いいたします。
ありがとうございました。スレッド一覧
コンパイル成功です。
また、関連のライブラリーの見つけ方ですが、テキスト検索で
何とか分かることができました。なにをとち狂ったか"_"まで付けて検索していたので引っかからなかったようです。とにかく何かライブラリーが足らないことだけははっきりしていたのですが、かなりイライラしていたので更にはまっていたようです。
大変お手数をお掛けしました。
cygwin の問題ではないですね。スレッド一覧
makefile というか コンパイルオプションがよくないようです。
-lXm -lXt -lX11 を -lXm -lXt -lX11 -lSM -lXext にしてみましょう。
あと、 cygwin では -lm は不要です。