sqlite3 dll с cmake - PullRequest
       3

sqlite3 dll с cmake

0 голосов
/ 23 сентября 2018

Я пытаюсь собрать 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 */
);

Я думал, что должно работать.Но, очевидно, это не так.Где моя неудача?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...