Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

mirrord.c:14: error: ‘true’ undeclared (first use in this fu
На страницу 1, 2  След.
 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Программирование/C/C++
 
Автор Сообщение
pini-pini

Участник тусовки


Зарегистрирован: 11.06.2007
Сообщения: 150
Откуда: Internet

СообщениеДобавлено: Вс Ноя 18, 2007 3:49 pm    Заголовок сообщения: mirrord.c:14: error: ‘true’ undeclared (first use in this fu
Ответить с цитатой

root@pininotebook:/work/linux_projects/mirror# cat mirrord.c
#include <stdio.h>
#include <stdlib.h>

#include "mirrord.h"

#ifdef HAVE_CONFIG_H
# include <config.h>
#endif

int main()
{
printf("Hello, world!\n");
hello();
return true;
}

root@pininotebook:/work/linux_projects/mirror# cat mirrord.h
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif

#ifndef MIRRORD_H
#define MIRRORD_H

/* #define TRUE 1
#define FALSE 0
#define true 1
#define false 0*/
#endif


-------------------------------------
При компиляции говорит:
root@pininotebook:/work/linux_projects/mirror# make
make all-am
make[1]: Entering directory `/work/linux_projects/mirror'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT mirrord.o -MD -MP -MF ".deps/mirrord.Tpo" -c -o mirrord.o mirrord.c; \
then mv -f ".deps/mirrord.Tpo" ".deps/mirrord.Po"; else rm -f ".deps/mirrord.Tpo"; exit 1; fi
mirrord.c: In function ‘main’:
mirrord.c:14: error: ‘true’ undeclared (first use in this function)
mirrord.c:14: error: (Each undeclared identifier is reported only once
mirrord.c:14: error: for each function it appears in.)
make[1]: *** [mirrord.o] Ошибка 1
make[1]: Leaving directory `/work/linux_projects/mirror'
make: *** [all] Ошибка 2


---------------------------------
Как вылечить?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение pini-pini@jabber.ru
ShprotX

Участник тусовки


Зарегистрирован: 07.01.2007
Сообщения: 312
Откуда: Украина

СообщениеДобавлено: Вс Ноя 18, 2007 5:28 pm    Заголовок сообщения: Re: mirrord.c:14: error: ‘true’ undeclared (first use in thi
Ответить с цитатой

pini-pini писал(а):
Как вылечить?

"#define true 1" раскомментить. У тебя подсветка синтаксиса имеется?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение shprotx@jabber.ru
pini-pini

Участник тусовки


Зарегистрирован: 11.06.2007
Сообщения: 150
Откуда: Internet

СообщениеДобавлено: Вс Ноя 18, 2007 5:51 pm    Заголовок сообщения: Re: mirrord.c:14: error: ‘true’ undeclared (first use in thi
Ответить с цитатой

ShprotX писал(а):
"#define true 1" раскомментить.

Ну это понятно, но почему этого нет в стандартной библиотеке?
Код:

uname -a
Linux pininotebook.pini-pini.lcl 2.6.18-5-686 #1 SMP Wed Oct 3 00:12:50 UTC 2007 i686 GNU/Linux
pinipini@pininotebook:/work/linux_projects/mirror$ cat /etc/debian_version
4.0

ShprotX писал(а):
У тебя подсветка синтаксиса имеется?

vim, т.е. и да и нет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение pini-pini@jabber.ru
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вс Ноя 18, 2007 6:02 pm    Заголовок сообщения:
Ответить с цитатой

Цитата:

"#define true 1" раскомментить.

Это не вариант. Можно просто написать return 1; У него трабла глубже, скорее что-то не установлено.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
pini-pini

Участник тусовки


Зарегистрирован: 11.06.2007
Сообщения: 150
Откуда: Internet

СообщениеДобавлено: Вс Ноя 18, 2007 6:16 pm    Заголовок сообщения:
Ответить с цитатой

Да в том-то и дело, что всё установлено, позавчера linuxconf сомпилировался.
А с этого времени никаких изменений небыло...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение pini-pini@jabber.ru
ShprotX

Участник тусовки


Зарегистрирован: 07.01.2007
Сообщения: 312
Откуда: Украина

СообщениеДобавлено: Вс Ноя 18, 2007 6:55 pm    Заголовок сообщения:
Ответить с цитатой

den писал(а):
Это не вариант. Можно просто написать return 1; У него трабла глубже, скорее что-то не установлено.

Разве что мозги. С каких пор true и false стали входить в стандартную библиотеку C?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение shprotx@jabber.ru
ShprotX

Участник тусовки


Зарегистрирован: 07.01.2007
Сообщения: 312
Откуда: Украина

СообщениеДобавлено: Вс Ноя 18, 2007 7:05 pm    Заголовок сообщения:
Ответить с цитатой

Кстати, что это за прикол такой, в main возвращать true?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение shprotx@jabber.ru
pini-pini

Участник тусовки


Зарегистрирован: 11.06.2007
Сообщения: 150
Откуда: Internet

СообщениеДобавлено: Вс Ноя 18, 2007 7:35 pm    Заголовок сообщения:
Ответить с цитатой

Цитата:
Разве что мозги

С чего-бы это?

Цитата:
С каких пор true и false стали входить в стандартную библиотеку C?

А с каких пор стандартная библиотека C использует true и false, но не содержит их?

Цитата:
Кстати, что это за прикол такой, в main возвращать true?

Это является своего рода показателем того, что программа завершилась успешно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение pini-pini@jabber.ru
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вс Ноя 18, 2007 7:53 pm    Заголовок сообщения:
Ответить с цитатой

Цитата:

Разве что мозги.

Тогда значит, у всех этих товарищей, которые писали в том числе и код ядра тоже мозги отсутствуют?

http://www.google.com/search?client=opera&rls=ru&q=error:+%E2%80%98true%E2%80%99+undeclared+(first+use+in+this+function)&sourceid=opera&ie=utf-8&oe=utf-8

Цитата:

Re: Не могу скомпилировать ядро ASP 11.2 2.6.17-1.2157 - Общий ...
scripts/kconfig/lxdialog/checklist.c:146: error: ‘TRUE’ undeclared (first use in this function) scripts/kconfig/lxdialog/checklist.c:166: warning: implicit ...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
ShprotX

Участник тусовки


Зарегистрирован: 07.01.2007
Сообщения: 312
Откуда: Украина

СообщениеДобавлено: Вс Ноя 18, 2007 8:31 pm    Заголовок сообщения:
Ответить с цитатой

pini-pini писал(а):
С чего-бы это?

Глупые вопросы по C.

pini-pini писал(а):
А с каких пор стандартная библиотека C использует true и false, но не содержит их?

Стандартная библиотека C не содержит и не использует true и false.

pini-pini писал(а):
Это является своего рода показателем того, что программа завершилась успешно.

Я тебя обрадую: true соответствует 1, а 1 соответствует неудачному завершению, т.е. EXIT_FAILURE. См. man exit(3).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение shprotx@jabber.ru
ShprotX

Участник тусовки


Зарегистрирован: 07.01.2007
Сообщения: 312
Откуда: Украина

СообщениеДобавлено: Вс Ноя 18, 2007 8:36 pm    Заголовок сообщения:
Ответить с цитатой

den писал(а):
Тогда значит, у всех этих товарищей, которые писали в том числе и код ядра тоже мозги отсутствуют?
Цитата:
Re: Не могу скомпилировать ядро ASP 11.2 2.6.17-1.2157 - Общий ...
scripts/kconfig/lxdialog/checklist.c:146: error: ‘TRUE’ undeclared

Это не ядро, а система конфигурации/компиляции.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение shprotx@jabber.ru
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Пн Ноя 19, 2007 5:54 am    Заголовок сообщения:
Ответить с цитатой

Все равно, вообще там трабла была в том, что ncurces не была установлена, но в том числе и вылезла ошибка с true.

Хотя в приведенном выше листинге действительно проще указать return 1 и забыть о проблеме
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
pini-pini

Участник тусовки


Зарегистрирован: 11.06.2007
Сообщения: 150
Откуда: Internet

СообщениеДобавлено: Пн Ноя 19, 2007 4:31 pm    Заголовок сообщения:
Ответить с цитатой

ShprotX писал(а):
Стандартная библиотека C не содержит и не использует true и false.

Ну ладно, допустим. Небуду спорить.
Но тогда где-же определяется что
Код:
#define true 1
#define false 0
?

ShprotX писал(а):
1 соответствует неудачному завершению.

Я тебя тоже обрадую: я знаю, что 0 - нормальное завершение, а все остальные - ненормальное.
Я специально поставил exit 1; чтобы осмотреть, что получится!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение pini-pini@jabber.ru
pini-pini

Участник тусовки


Зарегистрирован: 11.06.2007
Сообщения: 150
Откуда: Internet

СообщениеДобавлено: Пн Ноя 19, 2007 4:33 pm    Заголовок сообщения:
Ответить с цитатой

Теперь по делу: как сделать чтобы true и остальные работали?

Может какой-нибудь заголовочный файл надо подключить?
Или ещё чего-то чего я не знаю?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение pini-pini@jabber.ru
ShprotX

Участник тусовки


Зарегистрирован: 07.01.2007
Сообщения: 312
Откуда: Украина

СообщениеДобавлено: Пн Ноя 19, 2007 9:11 pm    Заголовок сообщения:
Ответить с цитатой

pini-pini писал(а):
Но тогда где-же определяется что
Код:
#define true 1
#define false 0
Где хочешь - там и будет. Хочешь - в твоем собственном файле, хочешь - можешь какую-нибудь левую либу подключить.

pini-pini писал(а):
Я тебя тоже обрадую: я знаю, что 0 - нормальное завершение, а все остальные - ненормальное.
Я специально поставил exit 1; чтобы осмотреть, что получится!
А вот это ты написал тоже чтобы посмотреть, что получиться?
pini-pini писал(а):
ShprotX писал(а):
Кстати, что это за прикол такой, в main возвращать true?
Это является своего рода показателем того, что программа завершилась успешно.


pini-pini писал(а):
Теперь по делу: как сделать чтобы true и остальные работали?
Может какой-нибудь заголовочный файл надо подключить?
Или ещё чего-то чего я не знаю?

А нужны ли true и false вообще?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение shprotx@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Программирование/C/C++ Часовой пояс: GMT
На страницу 1, 2  След.
Страница 1 из 2
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис