2012-04-03 20 views
1

私は関数cryptを呼び出す必要があるマルチスレッドプログラムを作成しようとしています。しかし、コンパイラはこの警告をスローします。また、crypt_dataも認識しません。何か案は?警告:暗黙の関数 'crypt_r'の宣言

+1

#適切なヘッダーファイルを#試しましたか?あなたのシステムのヘッダファイルを調べましたか?/usr/includeのcrypt_rのためのgreppingを試しましたか? –

+0

いいえ、私はデフォルトですべての機能を持っていると思っています...本当に今?はい、私はcrypt.hをインクルードしていました。また、_GNU_SOURCEを定義しました。 – skyel

+0

ちょっと、私は普通の質問をしています。あなたは、人々がそのようなもので解決する単純な問題を信じません。私はもちろん侮辱を意味しませんでした。 –

答えて

1

プログラムのソースを前処理します。 gcc -cの代わりにgcc -Eを実行してください。出力を見て、宣言に期待される暗号関数のいくつか/すべて/なしが表示されているかどうかを確認します。

3

適切なヘッダーファイルを含める必要があります。この場合crypt.h

#include <crypt.h> 
+0

OS Xでは、 'crypt.h:No such file or directory'というエラーが出ます。どこから入手できますか? – kadrian

+0

libcrypt devファイルをインストールする必要があります。 – Anycorn

1

関数陰窩(前方宣言)のプロトタイプを宣言するか、それを有するヘッダを含みます。

関連する問題