Verwendet einer von euch die Soci-Lib mit CMake? Und vielleicht auch unter Windows? Ich bekommen es einfach nicht hin, etwas damit zu kompilieren.
Ich builde Soci so:
Mein CMakeScript sieht so aus:
Leider bekomme ich dann folgenden Fehler beim linken:
Weiß da jemand weiter?
Ich builde Soci so:
Code:
cmake -S . -B build -DWITH_BOOST=OFF ^ - DSOCI_SQLITE3=ON ^ -DSQLITE3_INCLUDE_DIR=%sqlite_include_dir% ^ -DSQLITE3_LIBRARY=%sqlite_library_path%\libsqlite3.lib
Code:
cmake --build build
Mein CMakeScript sieht so aus:
Code:
cmake_minimum_required(VERSION 3.17)
project(SqliteTest)
add_executable(SqliteTest)
add_subdirectory(src)
find_package(Soci)
target_include_directories(SqliteTest PUBLIC "C:/CPP/Additional Includes/soci/include")
target_include_directories(SqliteTest PUBLIC "C:/CPP/Additional Includes/SQLite3/include")
list(APPEND LIBS ${SOCI_LIBRARY} ${SOCI_sqlite3_PLUGIN})
target_link_libraries(SqliteTest PUBLIC ${LIBS})
Leider bekomme ich dann folgenden Fehler beim linken:
Code:
Microsoft (R)-Build-Engine, Version 16.5.0+d4cbfca49 für .NET Framework
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
Checking Build System
Building Custom Rule C:/CPP/Projects/SqliteTest/CMakeLists.txt
main.cpp
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __cdecl soci::session::session(class soci::backend_factory const &,class std::basic_string<char,struct std::ch
ar_traits<char>,class std::allocator<char> > const &)" (??0session@soci@@QEAA@AEBVbackend_factory@1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)" in Funktion "main". [C
:\CPP\Projects\SqliteTest\build\SqliteTest.vcxproj]
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __cdecl soci::session::~session(void)" (??1session@soci@@QEAA@XZ)" in Funktion "main". [C:\CPP\Projects\Sqlite
Test\build\SqliteTest.vcxproj]
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __cdecl soci::session::close(void)" (?close@session@soci@@QEAAXXZ)" in Funktion "main". [C:\CPP\Projects\
SqliteTest\build\SqliteTest.vcxproj]
main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct soci::sqlite3_backend_factory const soci::sqlite3" (?sqlite3@soci@@3Usqlite3_backend_factory@1@B)". [C:\CPP\Projects\Sqlite
Test\build\SqliteTest.vcxproj]
C:\CPP\Projects\SqliteTest\build\Debug\SqliteTest.exe : fatal error LNK1120: 4 nicht aufgelöste Externe [C:\CPP\Projects\SqliteTest\build\SqliteTest.vcxproj]
Weiß da jemand weiter?