ふるお〜と!- FullAuto

AI・ロボットが普及しBI(ベーシックインカム)が早急に実現されることを願う元ニートのブログ

ふるお〜と!-FullAuto

apt installしたヘッダとライブラリを使う

$ sudo apt install hoge

このコマンドを使うとどこかにヘッダとライブラリがインストールされます。
Makefile作成する場合はヘッダとライブラリを探し出しパスを設定する必要があります。

INCDIR = /usr/local/inluce/
LIB = -L/usr/local/lib

cmakeを作成すれば自動化することができます。

cmakeのテンプレート

[CMake] ライブラリを自動的に探すFind<package>.cmakeのテンプレート - Qiita

気が効いたパッケージの場合、apt installすると、/usr/libまたは/usr/share配下のどこかにcmakeファイルを用意してくれています。

以下のコマンドで見つけることができます。

$ find /usr -name *.cmake | grep <package_name>

HOGEConfig.cmakeというcmakeファイルが配置されていたら、 CMakefile.txtに

find_package(HOGE REQUIRED)

を追加することによってパッケージを見つけ出してくれます。
(cmakeファイルに記述されたコマンドによってヘッダとライブラリを追加してくれます。)

~に対する定義されていない参照です

それでも「~に対する定義されていない参照です」というエラーが出る場合はShared Objectにリンクされていないかもしれません。

target_link_libraries(
                     [Executable file name]
                     /usr/lib/x86_64-linux-gnu/xxx.so
                     )

その場合は上記のように直接指定すればオッケー。