Я пытаюсь собрать SQLite3.dll с помощью cmake.Я очень зеленый с cmake и dlls.С cmake и ninja я получаю dll в качестве вывода без каких-либо сообщений об ошибках.Но DLL не работает.В проект я включил dll, я получаю неразрешенные внешние ссылки с любым методом sqlite3, который я пробую.Например, если я использую «sqlite3_open (« test.db », & db)», я получаю неразрешенную внешнюю ссылку.Если я проверю свою DLL с помощью обходчика зависимостей, он не показывает никаких зависимостей.Так что я думаю, что сделал что-то не так, создавая свою DLL, и ничего не экспортируется.Мой Makelists.txt
project(sqlite3)
add_definitions(-DCOMPILE_SQLITE)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(sqlite3_headers sqlite3.h)
set(sqlite3_sources sqlite3.c)
add_library(sqlite3 SHARED sqlite3.h sqlite3.c)
install(TARGETS sqlite3
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static
)
В sqlite3.hi написал макрокоманду:
#ifdef COMPILE_SQLITE
#define Export __declspec(dllexport)
#else
#define Export __declspec(dllimport)
#endif
и перед объявлениями я написал "Экспорт".Как:
SQLITE_API Export int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
Я думал, что должно работать.Но, очевидно, это не так.Где моя неудача?