2016-07-26 6 views
0

ライブラリ内のサンプルファイルを編集しています。この例のディレクトリの中には、この例をコンパイルして実行するために使用していたMakefileがあります。私は今このmakeファイルに追加のライブラリを追加したいと思っています。ヘッダーと.cファイルをMakefileに指定されたライブラリフォルダにコピー&ペーストしようとしましたが、見つけられません。ここにMakefileコードがあります:ライブラリをメイクファイルに追加する方法

CPPFLAGS = -I../../include 
CFLAGS = 
LDFLAGS = -L../../lib -L../../lib64 
LIBS = -lbsapi 

Biometry: main.c 
    $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) main.c -o Biometry $(LIBS) 

私が追加したいライブラリには、.hファイルと.cファイルが付いています。私は私が行方不明です何かわからない

右前回の#includeの下
#include <tpl.h> 

を../../includeディレクトリにそれらを追加し、自分のコードにこれを追加することを確認しましたか?このライブラリを追加する前に、プログラムが正常に実行されました。

答えて

0

ライブラリは、通常は最初にビルドされてシステムにインストールされるので、後でMakefileにLIBSと思われるものを追加することができます(図書館の "foo"と呼ばれる、-lfoo)。

だから、あなたが持っている二つのオプション:検索またはそのインストール、libfoo.soへのfoo.cを回すためにMakefileを書き、次に:

  1. はパス「これは実際に名前のライブラリーに値します」 LIBS= -lbsapi -lfooまたは
  2. 「私のソースコードにソースコードを含めて、すべてが正しく構築されることを願って」パス:Biometryが必要なものにfoo.oを追加し、foo.oをビルドする方法のレシピを追加しますfoo.cfoo.cをソースに追加してください:
+0

['tpl'](https://troydhanson.github.io/tpl/)の場合は、[インストールガイド](https://troydhanson.github.io/)に従うことをおすすめします。 tpl/userguide.html#_build_and_install)を実行します。 – Kusalananda

+0

です。私はtpl.cとtpl.hを私のメインプログラムと同じフォルダに置くことで、このガイドに従ってみました。私がビルドすると、次のようなエラーが表示されます。未定義のリファレンス(tplの関数)。 – dchin2

+0

前述したように、TPLコードとリンクする必要があり、指示に記載されている 'NOLIB'フラグを追加する必要があります。動作するはずです –

関連する問題