0

Ubuntu10.10のクリーンインストールにcminpack1.1.2をインストールしています。

sudo makecminpackフォルダーで実行すると、52%で次のエラーが発生します。

[52%]Cオブジェクトの例の構築/CMakeFiles/genf77tests.dir/genf77tests.co
/usr/lib/cminpack-1.1.2/examples/genf77tests.c:関数'main'内:
/usr/lib/cminpack-1.1.2/examples/genf77tests.c:44:警告:代入により、キャストなしで整数からポインターが作成されます
/usr/lib/cminpack-1.1.2/examples/genf77tests.c:86:警告:ポインターと整数の比較
C実行可能ファイルgenf77testsのリンク
CMakeFiles / genf77tests.dir / genf77tests.co:関数 `main'内:
genf77tests.c:(。text+0xb5):`strnstr'への未定義の参照
genf77tests.c:(。text+0x2a9):`strnstr'への未定義の参照
collect2:ldが1つの終了ステータスを返しました
make [2]:*** [examples/genf77tests]エラー1
make [1]:*** [examples / CMakeFiles / genf77tests.dir/all]エラー2
make:***[すべて]エラー2

私は中を見てgenf77tests.c#include <string.h>存在しているので、なぜ見つけるのに問題があるのか​​わかりませんstrnstr

この問題を解決するために私にできることはありますか?

4

2 に答える 2

3

strnstr非標準の関数です。具体的には、Glibcには含まれていません。genf77test.cを書いた人は誰でも、Linux/glibcでテストしませんでした...

于 2011-02-13T22:13:39.453 に答える
1

strnstr標準 C ではありません。私の知る限り、BSD UNIX ファミリで提供されています。

それでも、コンパイルの唯一の問題がそのプロトタイプ1を提供し、その実装を含むファイルをコンパイルするファイルに追加できることである場合 (たとえば、 this one )。


  1. 実際には、それは必要ないかもしれません: コンパイルがリンク段階に到達してそこで失敗した場合、strnstr.
于 2011-02-13T22:17:12.890 に答える