Отсутствует gsl / gsl_sys.h: нет такого файла или каталога

#c #header

#c #заголовок

Вопрос:

Я загрузил библиотеку GSL и распаковал ее в папку с именем gsl без номера версии. Затем я создал файл C с именем trygsl.c в том же месте, что и папка gsl.

Содержимое trygsl.c просто так:

 #include <gsl/multimin/gsl_multimin.h>

int main() {
}
 

Я отдал следующую команду:

 $ gcc -I. trygsl.c
 

и получил следующие сообщения об ошибках:

 In file included from ./gsl/multimin/gsl_multimin.h:28,
                 from trygsl.c:1:
./gsl/gsl_math.h:23:10: fatal error: gsl/gsl_sys.h: No such file or directory
   23 | #include <gsl/gsl_sys.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
 

Компилятор нашел gsl_multimin.h под gsl/multimin/gsl_multimin.h , но не смог найти gsl/gsl_sys.h , потому что он находится под gsl/sys , а не непосредственно под gsl

tar.gz Файл имел такую структуру. Что приводит к вопросу:

Должен ли я перемещаться gsl_sys.h из sys -под папки и gsl напрямую?

Комментарии:

1. Перемещение материалов в стороннем каталоге никогда не должно быть решением, с которым можно согласиться. В случае GSL его просто не извлекают. Его необходимо установить из извлеченной папки. Обратитесь к INSTALL файлу в папке, которую вы извлекли.

2. @StoryTeller-UnslanderMonica Спасибо. Я установил библиотеку через apt-get на Linux Mint, и все прошло хорошо.