У меня есть проект, в котором я использую библиотеку sqlite3 для создания базы данных. Файлы следующие:
| sqlite3
| shell.c
| sqlite3.c
| sqlite3.h
| sqlite3ext.h
| database.hpp
| database.cpp
| main.cpp
| makefile
И в файле database.hpp я делаю #include "sqlite3/sqlite3.h"
.
Вот файл make, который я написал для этого проекта:
FLAGS = -g
LIBS = -lsqlite3
CC = g++
executable = a.out
all: $(executable)
$(executable): database.o main.cpp
$(CC) $(FLAGS) $(LIBS) database.o main.cpp -o $(executable)
database.o: database.cpp
$(CC) $(FLAGS) $(LIBS) -c database.cpp -o database.o
.PHONY : clean
clean:
rm $(executable) *.o
Проблема в том, что этот make-файл прекрасно работает на моем компьютере linux manjaro, но когда я запускаю его на другом компьютере, использующем Ubuntu, программа make отправляет мне сообщения об ошибках типа undefined refrence
или иногда на другом компьютере с Ubuntu, она отправляет мне can't find -lsqlite3
.
Что я здесь не так делаю?
Спасибо заранее за ответ