2

私のプログラムの一部は、sqrt浮動小数点数を計算することです。私が書いsqrt(1.0f);たとき、私はプログラムをコンパイルすることに成功しましたが、私が書いたときsqrt(-1.0f); 、コンパイルは失敗しましたundefined reference to 'sqrt'-この場合、nan値が返されると思います... 私はgccを使用してプログラムをコンパイルします。Visual Studio でコンパイルすると、sqrt に負の引数を指定して正常にコンパイルされます。問題を解決する方法 ありがとう

4

2 に答える 2

5

-lm次のように、ほとんどの Unix ベースのシステムでフラグを追加する必要があります。

以下を使用してコンパイルします。

gcc -c file.c

次に、次を使用してリンクします。

gcc -o program file.o -lm

または、2 つのコンパイル手順を分けたくない場合は、単純に次のように記述します。

gcc -o program file.c -lm
于 2012-01-08T19:44:15.730 に答える
4

Link with-lm数学ライブラリとのリンク

于 2012-01-08T19:41:22.907 に答える