2016-07-06 4 views
0

私はUbuntuを使用しています。実際には、ネットワークパケットを構築して書き込むためにlibnet v.1.0.2aをインストールしようとしています。私は古いバージョンをインストールしていることを知っていますが、それは私によく合っているので、むしろそれにこだわるでしょう。問題は、コードを記述してコンパイルしようとすると、libnetライブラリのすべての機能に「未定義の参照」エラーが表示されていることです。私は/ usr/includeをチェックし、宣言を含むヘッダーファイルはすべて存在します。libnet-1.0.2a関数への未定義リファレンス、Linux C

$sudo gcc $(libnet-config --defines) -o aa aa.c -lnet 

をそれはまだ未定義の参照に来ている:私のコンパイルコマンドに私が書きました。誰かが私を助けることができますか?

+0

コンパイラが提供する正確なエラーメッセージを含めてください。また、 'libnet-config --defines'の出力も含めてください。 –

+1

おそらく、 '--defines'ではなく' libnet-config --cflags'が必要です。 –

答えて

0

実際に私はこの問題を解決しました。私のコードは1.0のバージョンで書かれていたのに対して、私のコンパイラはバージョン1.1にリンクしていたのです。それは誤って2つのバージョンをインストールしたために共存しないためです。私がしなければならなかったのは、2つのライブラリを削除し、新しいバージョンを排他的にインストールすることでした。そして、私はすべてのコードを新しいバージョンに変換しました。これは簡単な方法です。

関連する問題