I dare say, that I basically understand how to compile a project with VisualStudio, but I got hung up here.
I try to compile and use wxSQLite3 for wxWidgets3, and I was able to apply wxSQLite 3.3.1 to my projects. Yet I have issues with compiling and using 3.5.8 (or 3.5.7) with encryption.
I tried compiling everything Multithreaded (/MT) or everything Multithreaded-DLL (/MD) in Release-Win32 mode in the following cases.
My project is a wxWidgets 3.1.0 project using VisualStudio2008 on Windows10x64.
My doings step by step:
1. Getting wxsqlite3 from GitHub (version 2.5.8 atm)
2. Downloading premake 5 alpha (https://premake.github.io/download.html)
3. Extracting "premake5.lua" with premake for vs2015
4. Building the solution "SQLite3" with Release AES256 - Win32, Multithreaded DLL (/MD)
contains:
- sqlite3dll
sqlite3dllicu
sqlite3lib
sqlite3libicu
sqlite3shell
sqlite3shellicu
The others fail due to dependencies
5. Building "wxsqlite3_vc14.sln" with vs2015 with Release - Win32, Multithreaded DLL (/MD)
contains:
- minimal
treeview
wxsqlite3
minimal and treeview fail due to linker errors (building several times doesn't help)
minimal linker erros go like this:
My settings for Release - Win32 in vs2008:1>msvcprt.lib(MSVCP140.dll) : error LNK2005: "void __cdecl std::_Xbad_alloc(void)" (?_Xbad_alloc@std@@YAXXZ) already defined in libcpmt.lib(xthrow.obj)
1>wxsqlite3.lib(sqlite3secure.obj) : error LNK2001: unresolved external symbol __imp__strncmp
1>wxbase31u.lib(baselib_string.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (__imp_?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) referenced in function "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Sentry_base::~_Sentry_base(void)" (??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ)
...
c++ additional includes
- .\wxsqlite3-3.5.8\include
.\wxsqlite3-3.5.8\sqlite3\secure\src
- .\wxsqlite3-3.5.8\lib\vc_lib
.\wxsqlite3-3.5.8\lib\vc_lib
- wxsqlite3.lib
sqlite3.lib
They basically say, that some parts of my windows standard libs (MSVCP90.dll) are already defined in "wxsqlite3.obj" which is supposed to be an error that occurs, if debug and release is mixed (according to my research).
Additionally, in "wxsqlite3.lib(sqlite3secure.obj)" are several unresolved external symbols.
Yet, changing my setting to wxSQLite3.3.1, it compiles allright. Is there something I'm doing terribly wrong in my setup? Why can't I even compile the minimal sample?
Thanks and have a good day.
Natu
errors: