2012-04-03 6 views
1

Я пытаюсь написать многопоточную программу, в которой мне нужно вызвать функцию crypt. Но компилятор выдает это предупреждение. Также он не распознает crypt_data. Есть идеи?warning: неявное объявление функции 'crypt_r'

+1

Вы пытались # включить соответствующий заголовочный файл? Вы проверили этот заголовочный файл в своей системе? Вы пытались grepping для crypt_r в вашем/usr/include? –

+0

Нет. Я ожидаю, что все функции будут выполняться по умолчанию ... действительно сейчас? Да, я включил crypt.h, а также определил _GNU_SOURCE – skyel

+0

Эй, я просто задаю обычные вопросы - вы не поверили бы простым проблемам людей, которые решаются с такими вещами. Разумеется, я не подразумевал никакого оскорбления. –

ответ

1

Предварительно обработать источник вашей программы, например. путем запуска gcc -E вместо gcc -c. Посмотрите на вывод, чтобы увидеть, появляются ли в объявлениях некоторые/все/никакие функции криптографии, которые вы ожидаете.

3

Вам необходимо включить соответствующий заголовочный файл. В этом случае crypt.h

#include <crypt.h> 
+0

В OS X Я получаю сообщение об ошибке 'crypt.h: Нет такого файла или каталога'. Где я могу его получить? – kadrian

+0

Вам необходимо установить файлы libcrypt dev. – Anycorn

1

Объявите прототип функции крипты (Forward декларация) или включать заголовок, который имеет это.

Смежные вопросы