« [Excel VBA]変数を宣言しなければ変数を使えないようにする(変数の宣言を強制にする) | トップページ | [R]グラフのスケール数字を横軸縦軸それぞれ別々に軸から離して配置する »

2014年4月17日 (木)

[gcc]「`pow' に対する定義されていない参照です」

math.hをincludeして数学関係の関数を使用したプログラムをコンパイルした時に、以下のようなエラーメッセージが表示されることがある。

$ gcc -o ○○ ○○.c
/tmp/××.o: 関数 `××' 内:
○○.c:(.text+△△): `pow' に対する定義されていない参照です
○○.c:(.text+△△): `sqrt' に対する定義されていない参照です
○○.c:(.text+△△): `sin' に対する定義されていない参照です
○○.c:(.text+△△): `cos' に対する定義されていない参照です
○○.c:(.text+△△): `atan' に対する定義されていない参照です

これは、math.hに含まれる数学関係の関数を使用する時は、コンパイル時にオプション-lmを付けないと、必要なライブラリがリンクされないからである。

実行ファイルを作成するためには、オプション-lmを付けてコンパイルをすること。

$ gcc -o ○○ ○○.c -lm

ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道 GNU Make 第3版 明快入門 C (林晴比古実用マスターシリーズ) Introduction To Gcc Gcc 7.0 Gnu Openmp Intel Visual Fortran リファレンスガイド C/C++、FortranプログラマーのためのインテルParallel Stud―Windows、LinuxおよびMac OS 10

« [Excel VBA]変数を宣言しなければ変数を使えないようにする(変数の宣言を強制にする) | トップページ | [R]グラフのスケール数字を横軸縦軸それぞれ別々に軸から離して配置する »

gcc」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [Excel VBA]変数を宣言しなければ変数を使えないようにする(変数の宣言を強制にする) | トップページ | [R]グラフのスケール数字を横軸縦軸それぞれ別々に軸から離して配置する »

無料ブログはココログ