Я пытаюсь сделать простое приложение базы данных для личного использования, используя sqlite3. Я хочу хранить рецепты и искать их по ингредиентам.
Я собрал make-файл для сборки проекта, но компоновщик не может найти файлы sqlite3.c и sqlite3.h
Это мой make-файл
TARGET = main
CC = gcc
CFLAGS = -std=c99 -Wall -I /home/jamie/sqlite/sqlite3 -pthread
HEADERS = sqlite3.h
SOURCES = main.c sqlite3.c
.PHONY: compile clean
#Compile all the files. The default target
compile:
$(CC) $(CFLAGS) $(SOURCES) $(HEADERS) -o $(TARGET)
#Remove all files that are produced after compilation
clean:
-rm -f *.o $(TARGET)
Это моя структура каталогов
jamie@jamie-VirtualBox:~/sqlite$ tree
.
├── chinook
│ └── chinook.db
├── recipes
│ ├── creator.txt
│ ├── main.c
│ ├── Makefile
│ └── recipeDB.db
├── sqlite3
│ ├── aclocal.m4
│ ├── compile
│ ├── config.guess
│ ├── config.log
│ ├── config.status
│ ├── config.sub
│ ├── configure
│ ├── configure.ac
│ ├── depcomp
│ ├── INSTALL
│ ├── install-sh
│ ├── libsqlite3.la
│ ├── libtool
│ ├── ltmain.sh
│ ├── Makefile
│ ├── Makefile.am
│ ├── Makefile.fallback
│ ├── Makefile.in
│ ├── Makefile.msc
│ ├── missing
│ ├── README.txt
│ ├── Replace.cs
│ ├── shell.c
│ ├── sqlite3
│ ├── sqlite3.1
│ ├── sqlite3.c
│ ├── sqlite3ext.h
│ ├── sqlite3.h
│ ├── sqlite3.lo
│ ├── sqlite3.o
│ ├── sqlite3.pc
│ ├── sqlite3.pc.in
│ ├── sqlite3.rc
│ ├── sqlite3-shell.o
│ ├── sqlite3-sqlite3.o
│ ├── tea
│ │ ├── aclocal.m4
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── doc
│ │ │ └── sqlite3.n
│ │ ├── generic
│ │ │ └── tclsqlite3.c
│ │ ├── license.terms
│ │ ├── Makefile.in
│ │ ├── pkgIndex.tcl.in
│ │ ├── README
│ │ ├── tclconfig
│ │ │ ├── install-sh
│ │ │ └── tcl.m4
│ │ └── win
│ │ ├── makefile.vc
│ │ ├── nmakehlp.c
│ │ └── rules.vc
│ └── test.c
└── sqlite-tools-linux-x86-3260000
├── sqldiff
├── sqlite3
└── sqlite3_analyzer
9 directories, 58 files
Вызов «make» из каталога recipes , в котором хранится проект, приводит к следующим ошибкам. Я не понимаю, почему я получаю эти ошибки, так как я добавляю каталог sqlite3 в мой путь включения с -I
jamie@jamie-VirtualBox:~/sqlite/recipes$ make
gcc -std=c99 -Wall -I /home/jamie/sqlite/sqlite3 -pthread main.c sqlite3.c sqlite3.h -o main
gcc: error: sqlite3.c: No such file or directory
gcc: error: sqlite3.h: No such file or directory
Makefile:11: recipe for target 'compile' failed
make: *** [compile] Error 1
jamie@jamie-VirtualBox:~/sqlite/recipes$
А в main.c у меня есть следующее:
#include "sqlite3.h"