お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2013-05-02 11:37:12

dryas
メンバ
登録日: 2010-11-30

Ubuntu13.04にアップグレードした直後に自作プログラムをコンパイル・リンクしたら、リンクエラー発生

Ubuntu13.04にアップグレードした直後に、「12.10でチャントコンパイルリンクできていた自作プログラム」が以下でリンクできなくなりました。
    「/usr/bin/ld: /tmp/ccglJJB9.o: シンボル 'sqrt@@GLIBC_2.0'への未定義参照です 
     /usr/bin/ld:注: 'sqrt@@GLIBC_2.0' は DSO /lib/i386-linux-gnu/libm.so.6内で 
     定義されているのでリンカのコマンドラインに追加してみてください       
     /lib/i386-linux-gnu/libm.so.6: could not read symbols:無効な操作です    
     collect2: エラー: ldはステータス 1で終了しました」    
コンパイルリンクに使用したコマンドファイルの内容は以下の通りです。
    「cc -g -o doro003u doro003u.c -lasound -Wall `pkg-config --cflags gtk+-2.0`\
     `pkg-config --libs gtk+-2.0` 」  
コマンドファイルに何を追加すれば、リンクが通るようになるのか、どなたか御教授お願いできませんでしょうか?     

オフライン

 

#2 2013-05-06 10:56:12

Tako090929
メンバ
登録日: 2009-09-29

Re: Ubuntu13.04にアップグレードした直後に自作プログラムをコンパイル・リンクしたら、リンクエラー発生

libm をリンクするのは -lm だと思います。

オフライン

 

#3 2013-05-06 14:38:47

vbk
メンバ
From: Lake Hamana in Hamamatsu
登録日: 2009-12-22

Re: Ubuntu13.04にアップグレードした直後に自作プログラムをコンパイル・リンクしたら、リンクエラー発生

因みに libm は数学関係のライブラリーですね。sqrt はCの標準ですが、gcc では手動でリンクさせる必要があります。

オフライン

 

#4 2013-05-06 20:00:19

dryas
メンバ
登録日: 2010-11-30

Re: Ubuntu13.04にアップグレードした直後に自作プログラムをコンパイル・リンクしたら、リンクエラー発生

-lmを追加で、美味く行きました!(^。^)
誠にありがとうございました!!

オフライン

 

Board footer

Powered by FluxBB