
No.2ベストアンサー
- 回答日時:
正確には、コンパイルできないのではなく、コンパイルしたオブジェクトをロード(オブジェクト間の依存関係を解決し、必要なライブラリを読み込んで実行モジュールを生成すること; リンクともいいます)するときに数学関数ライブラリを読み込んでいないために、関数の実体がないということでえらーになっています。
libcというデフォルトで読み込まれるライブラリには、数学関数が含まれていないのが普通です。ロード時に読み込んでもらうよう明示的に書く必要があります。
ldまたはccのコマンドラインに -lm というオプションを記述することで、数学関数ライブラリ(libm)を読み込ませることができます。
返事遅れてすいません。
詳しい説明ありがとうございます。オプション-lmを付けないと数学関数はリンクする時に読み込まれないのですね。
ありがとうございました。
No.4
- 回答日時:
#2です。
#3さんの回答のとおりの可能性もありますが、エラーメッセージが
undefined reference to `sqrt'
というものであれば、ロード(リンク)時のエラーです。
私のところでは、 glibc2の環境ですが、-lm をつけないと上記のエラーがでます。
何度も返事ありがとうございます。
出ていたのはまさしくこのメッセージでした。
リンク時のエラーのようで-lmを付けることによりで解決できました。
ありがとうございました。
No.3
- 回答日時:
お名前から想像するに、Linux ですか。
>>関数sqrt()は定義されていません...
のエラーは、コンパイル時ですか、リンク時ですか。
リンク時なら、これまでの回答で良いかも知れません。
(但し、-lm が Linux でも通る?)
コンパイル時のエラーなら、stdio.h などの並びの math.h を
開いて、使用する関数があるか見てください。
多分、更に他の header file を見ているのでは。
関数の prototype がなければ、再度インストールが必要です。
返事ありがとうございます。
1と2の方の方法で解決できたので、リンク時のエラーのようでした。Linuxですが-lmも通り、無事に動きました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
<math.h>ヘッダを入力しているのに、sqrt関数が使えません
C言語・C++・C#
-
<math.h>があるのにsqrtが・・・
C言語・C++・C#
-
c++ cmathとmath.h
C言語・C++・C#
-
-
4
C言語 配列の長さの上限
C言語・C++・C#
-
5
C言語初心者の質問失礼します。
C言語・C++・C#
-
6
数字以外が入力されたらエラー文を出したい。
C言語・C++・C#
-
7
C言語のポインターに関する警告
C言語・C++・C#
-
8
C言語のプログラムで#include<math.h>を使わず#include<stdio.h>だけで
C言語・C++・C#
-
9
実験における誤差範囲の許容範囲の決め方ってどうやればいいんですか? また、一般的には具体的にどこ程度
大学・短大
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
共有ライブラリの内容確認について
-
自作DLLの中身を暗号化
-
ヘッダーファイル『windows.h』...
-
実行後にコンパイルに失敗しま...
-
VCでコンパイラ実行時に警告を...
-
C言語のグローバル変数の初期...
-
C90とC99の計算結果の違い?
-
C#のサンプルソースのコンパイ...
-
Visual Basic.NETの処理速度は6...
-
Cygwinで使用しているgccをダウ...
-
cygwinのgccで正常にコンパイル...
-
デバッガについて
-
Delphiでクラスをオブジェクト...
-
gccでc++プログラムをコンパイ...
-
ビープ音が鳴りません・・・
-
Visual Studio 2005 C++で作成...
-
vba コンパイル
-
math.hに含まれる関数が使えない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
実行後にコンパイルに失敗しま...
-
[COBOL] ソースの復帰
-
math.hに含まれる関数が使えない
-
共有ライブラリの内容確認について
-
ビープ音が鳴りません・・・
-
c言語です コンパイルした時に...
-
C#で char型とstring型の比較で...
-
64ビットのlinuxで32ビットメモ...
-
C言語で作ったらWindowsでもMac...
-
すべてのリビルド: 0 正常、 0 ...
-
「インクルードファイル 'pthre...
-
<math.h>ヘッダを入力している...
-
vba コンパイル
-
gccでc++プログラムをコンパイ...
-
Fortran77 (intel fortran)
-
別々に作ったプログラムを繋げたい
-
プレコンパイルの意味を教えて...
-
fatal error LNK1112
おすすめ情報