Задачи из Рочкинд Програмиирование для Unix (помошь в решении)

Модератор: Модераторы разделов

Аватара пользователя
ЭЖД
Сообщения: 332
Статус: openSuSE Member
ОС: openSuSE

Задачи из Рочкинд Програмиирование для Unix

Сообщение ЭЖД »

Трудности возникли прямо на первой задачке... :)
собственно за IDE взял Eclipse, в настройках проекта добавил пути до common и include директорий, подключаемые бибилиотеки "util".
defs.h, ec.h и тд скачал с сайта указанного в книжке (http://basepath.com/aup/download.htm).
пробуем компилировать следующий код

Код:

#include <defs.h> int main (void) { ec_neg1( puts("Hello, World!") ) exit(EXIT_SUCCESS); EC_CLEANUP_BGN exit(EXIT_FAILURE); EC_CLEANUP_END }

получаем вывод
**** Build of configuration Debug for project 1.1 ****

make all
Building target: 1.1
Invoking: GCC C Linker
gcc -o"1.1" ./1.1.o -lutil
./1.1.o: In function `main':
/home/egd/Documents/projects/1.1/Debug/../1.1.c:11: undefined reference to `ec_in_cleanup'
/home/egd/Documents/projects/1.1/Debug/../1.1.c:11: undefined reference to `ec_push'
collect2: ld returned 1 exit status
make: *** [1.1] Ошибка 1
«Когда истинный гений появляется в этом низком мире, его можно узнать по тому знаку, что все глупцы объединяются против него»
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Задачи из Рочкинд Програмиирование для Unix

Сообщение Женя Подсыпальников »

ЭЖД писал(а):
06.08.2009 13:42
..."util"


Это которая из "/common" строится, где ec_push(..) лежит ? :)

Её, наверное, ещё нету или путь к ней не понятен... :)
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
ЭЖД
Сообщения: 332
Статус: openSuSE Member
ОС: openSuSE

Re: Задачи из Рочкинд Програмиирование для Unix

Сообщение ЭЖД »

Женя Подсыпальников писал(а):
06.08.2009 17:20
ЭЖД писал(а):
06.08.2009 13:42
..."util"


Это которая из "/common" строится, где ec_push(..) лежит ? :)

Её, наверное, ещё нету или путь к ней не понятен... :)

ld ругнулся бы, что не нашел такой библиотеки

почему он ругается только на два макроса этих? а на остальные нет...
самое главное, что я делаю не так?
«Когда истинный гений появляется в этом низком мире, его можно узнать по тому знаку, что все глупцы объединяются против него»
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Задачи из Рочкинд Програмиирование для Unix

Сообщение Женя Подсыпальников »

ЭЖД писал(а):
06.08.2009 20:26
ld ругнулся бы, что не нашел такой библиотеки

почему он ругается только на два макроса этих? а на остальные нет...
самое главное, что я делаю не так?


Точно - не та, не !
Посмотреть лишь на мэйкфайл в коммоне -
дак там сам ec.c c -lutil вяжется, значит, они не одно :)

Мне известны три способа подвязки функций некоторого исходного файла:
- файл включается в проект и компилится вместе
- файл компилится в статическую библиотеку и подвязывается
- файл компилится в динамическую библиотеку и подвязывается

Я не слишком разбираюсь в мэйкфайлах,
но тот, который в коммоне - нацелен не на стройку библотеки, по моему...
Хотя, могу и ошибаться :)

ПС: ты выполняешь работу над ошибками, внеплановую;
пишишь во форум вопросы; по-моему - всё так :)
Пойдём на рыбалку !
Спасибо сказали: