Компиляции под ubuntu linux
Я начал читать книгу "UNIX. Профессиональное программирование" и столкнулся с одной непонятной вещью уже с первого листинга.
Вот исходник основной программы, который находится в /home/***/Programming_UNIX/myls/:
//myls.c
#include "apue.h" <-------
#include <dirent.h>
int main(int argc, char *argv[])
{
DIR *dp;
struct dirent *dirp;
if(argc != 2)
err_quit("Использование: ls имя_каталога");
if((dp = opendir(argv[1])) == NULL)
err_sys("Невозможно открыть %s", argv[1]);
while((dirp = readdir(dp)) != NULL)
printf("%s\n", dirp->d_name);
closedir(dp);
exit(0);
}
И есть заголовочный apue.h и исходный файл error.c, которые лежат в родительском каталоге по отношению к основной программе. Автор пишет, что скомпилировать основную программу можно с помощью cc myls.c, но это невозможно, даже если переместить заголовочный файл с error.c в одну директорию с основной программой (myls.c). Я скомпилировал вот так gcc -I/home/***/Programming_UNIX/ ../error.c myls.c. Может я что-то не знаю и можно скомпилировать программу как написал автор?