gcc - CコードUbuntuからlibx264ライブラリへのリンク

gcc x264

x264 APIを使用する小さなCアプリケーションを記述しようとしていますが、x264 libarayへのリンクを使用してコードをコンパイルすると問題が発生します。

/ project /ディレクトリには、2つのサブフォルダーがあります。
/ project / mycode /および
/ project / x264-snapshot-20120120-2245。

./configureを使用して後者のサブディレクトリにx264をインストールしてから、「make」を実行しました。そのため、リンクしたいライブラリは/project/x264-snapshot-20120120-2245/libx264.aです。

/ project / mycode /には、次のインポートを含む単一のソースコードファイル(prototype.c)があります。

#include <stdio.h>
#include <inttypes.h>
#include "../x264-snapshot-20120120-2245/x264_config.h"
#include "../x264-snapshot-20120120-2245/x264.h"


予想通り、x264ライブラリにリンクせずにコンパイルしようとすると、エラーが発生します。

/project/mycode: gcc -o prototype prototype.c
/tmp/cc5NwRTp.o: In function `main':
prototype.c:(.text+0x6c): undefined reference to `x264_param_default_preset'
prototype.c:(.text+0xf6): undefined reference to `x264_param_apply_profile'
collect2: ld returned 1 exit status


上で述べたライブラリをリンクしようとしましたが、見つかりません:

/project/mycode: gcc -o prototype prototype.c -I../x264-snapshot-20120120-2245/ -llibx264.a
/usr/bin/ld: cannot find -llibx264.a
collect2: ld returned 1 exit status


私はいくつかのバリエーションを試しました:

gcc -o prototype prototype.c -I../x264-snapshot-20120120-2245/ -l ../x264-snapshot-20120120-2245/libx264.a
gcc -o prototype prototype.c -I../x264-snapshot-20120120-2245/ -llibx264
gcc -I ../x264-snapshot-20120120-2245/ -llibx264.a -o prototype prototype.c


おそらく今までに明らかなように、私はこれにかなり慣れていないので、簡単な解決策があることを望んでいます
答え
将来これを見る人にとって、答えは:

gcc -pthread -o prototype -L../x264-snapshot-20120120-2245/ -lx264 -lm


-Lはライブラリーのディレクトリーを指定し、-lはライブラリーの名前から、「lib」接頭部と「.a」接尾部を除いたものを指定します。 -lmおよび-pthread引数は、x264ライブラリーにも必要です。
関連記事

android - Android / armデバイス用デジタル顕微鏡用ドライバーを作成

c - Cインラインアセンブリ-'fst'のオペランドタイプが一致しません

c++ - nasmで静的ライブラリを作成してgccとリンクするにはどうすればよいですか?

c++ - vs2010の可変配置

c++ - キャストを再解釈する動作のためのGCC実装

linux - 未使用機能のリンカーエラー:いつ発生しますか?

iphone - Xcode 4.2のデフォルトコンパイラをGCC 4.2に変更することに問題はありますか?

ruby - Ruby-GCCの依存ファイル解析の最適化

c - この関数はインラインで考慮されますか?

ios - コマンドラインgccを介してiPhoneアプリをコンパイルすることは可能ですか?