Компиляции под 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. Может я что-то не знаю и можно скомпилировать программу как написал автор?


Ответы (0 шт):