#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, и все прошло хорошо.