Код смотрите ниже, а пока теоретическая подоплёка всего этого:
Если вы хотите разобраться, что такое make и CMake, то вам стоит прочитать:
Сначала про make (make - это утилита, которая избавляет от необходимости каждый раз писать g++ main.cpp -o main -I ... -l ... итд):
1. Просто о make -
https://habr.com/ru/post/211751/
2. Makefile для самых маленьких -
https://habr.com/ru/post/155201/
Затем про CMake (make файлы писать можно, но это не очень удобно и чревато ошибками из-за невнимательности. Поэтому создали CMake, который и используется в CLion):
1. Введение в CMake -
https://habr.com/ru/post/155467/
Сам код, который должен решить проблему:
cmake_minimum_required(VERSION 3.17)
# TODO: Здесь указано название проекта. Поменяйте на свой!
project(sqliteLearning)
# Задаём стандарт C++ (в данном случае - C++ 14 года)
set(CMAKE_CXX_STANDARD 14)
# TODO: Здесь первое название - будущее название исполняемого файла (в моём
# случае - это sqliteLearning, вы можете выбрать любое), а второе название (main.cpp) -
# это файлы с исходным кодом, их может быть несколько)
add_executable(sqliteLearning main.cpp)
# Пытаемся найти SQLite3
find_package (SQLite3)
# Если нашли, то:
if (SQLITE3_FOUND)
# Сообщаем об успехе в консоль (это необязательно)
message("Found sqlite3, and...")
# (Указываем место, где будем искать заголовочный файл. ${SQLite3_INCLUDE_DIR} -
# это переменная, которая автоматически создаётся, если сработала команда find_package(SQLite3))
include_directories(${SQLite3_INCLUDE_DIR})
# Прилинковываем библиотеку SQLite3
target_link_libraries (sqliteLearning ${SQLite3_LIBRARY})
endif (SQLITE3_FOUND)
# Следующие две опции могут помочь, если остальное не помогает, но помните, что это костыль
#add_compile_options(-l sqlite3)
# Нет нужды применять обе строчки одновременно
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lsqlite3")