У меня есть некоторые проблемы с включением библиотеки в make-файл.Ошибка при включении библиотеки в make-файл
Библиотека nlopt
установлена в /usr/lib
и моя программа правильно работает, когда я скомпилировать его из командной строки:
gfortran -I/usr/include main.f90 -L/usr/lib -lnlopt -lm -o exec
Однако мне нужно использовать Makefile. Один ниже, кажется, хорошо, но это не работает, я получаю:
main.f90:19: Error: Can't open included file 'nlopt.f'
Не могли бы вы помочь в поиске ошибку, пожалуйста?
INCLUDES = -I/usr/include
LFLAGS = -L/usr/lib
LIBS = -lnlopt -lm
objects = main.o
f90comp = gfortran
exec: $(objects)
$(f90comp) $(INCLUDES) -o exec $(objects) $(LFLAGS) $(LIBS)
main.o: main.f90
$(f90comp) -c main.f90
clean:
rm *.o *.mod exec
rm $(objects)
# End of the makefile
(до $ (f90comp) и гт, есть вкладка)
Где находится файл 'nlopt.f'? Это в 'usr/include'? И вы уверены, что компилятору не нужен порядок аргументов? (Я бы постарался точно указать тот же порядок). – Beta
Можете ли вы показать весь вывод из 'make'? У меня такое чувство, что перед тем, как ваше сообщение об ошибке будет поучительным. – sarnold
Иногда также полезно попробовать make -n, так как это покажет вам, что именно пытается сделать команда. – mgilson