Probleme mit Botan Library

soul710

Erfahrenes Mitglied
Hallo,

ich habe mir von http://botan.randombit.net/ die libbotan runtergeladen, und auch unter Windows (Vistax64) problemlos durchkompiliert.
Wollte sie dann in meinem aktuellen Projekt nutzen, hab dafür die Lib sowie das Includeverzeichnis eingestellt. Beides wird auch gefunden. Aber bereits bei einem einfachen Hello World bekomm ich jede Menge Linkerfehler:

Code:
1>libbotan.lib(datastor.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(data_src.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(pem.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(powm_mnt.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(par_hash.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(der_enc.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(asn1_str.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(out_buf.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(filter.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(big_base.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(powm_fw.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(es_capi.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(x509_ext.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(asn1_oid.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(asn1_alt.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(def_mode.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(def_alg.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(es_file.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(def_char.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(pipe.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo" in Funktion ""char * __cdecl std::_Allocate<char>(unsigned int,char *)" ($_Allocate@D@std@@YAPADIPAD@Z)".
1>libbotan.lib(parsing.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(mem_pool.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(eng_base.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(config.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(modules.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(x509stat.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(symkey.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(init_def.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(libstate.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(init_opt.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(inifile.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__invalid_parameter_noinfo".
1>libbotan.lib(es_win32.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetCaretPos@4" in Funktion ""private: virtual void __thiscall Botan::Win32_EntropySource::do_fast_poll(void)" (?do_fast_poll@Win32_EntropySource@Botan@@EAEXXZ)".
1>libbotan.lib(es_win32.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetCursorPos@4" in Funktion ""private: virtual void __thiscall Botan::Win32_EntropySource::do_fast_poll(void)" (?do_fast_poll@Win32_EntropySource@Botan@@EAEXXZ)".
1>libbotan.lib(es_win32.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetInputState@0" in Funktion ""private: virtual void __thiscall Botan::Win32_EntropySource::do_fast_poll(void)" (?do_fast_poll@Win32_EntropySource@Botan@@EAEXXZ)".
1>libbotan.lib(es_win32.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetMessageTime@0" in Funktion ""private: virtual void __thiscall Botan::Win32_EntropySource::do_fast_poll(void)" (?do_fast_poll@Win32_EntropySource@Botan@@EAEXXZ)".
1>libbotan.lib(es_win32.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetMessagePos@0" in Funktion ""private: virtual void __thiscall Botan::Win32_EntropySource::do_fast_poll(void)" (?do_fast_poll@Win32_EntropySource@Botan@@EAEXXZ)".

Code:
#include <botan/botan.h>

using namespace Botan;

int main(int argc, char *argv[])
{
   LibraryInitializer init;

   return 0;
}

Hat jemand vllt eine Idee, woran das liegen könnte? Mit Googlen komm ich nicht weit, und Botan hat leider auch kein Forum o.ä.

Kann mir jemand bei der Fehlersuche helfen? Ich benutze VC++2005 express.
 
Projekt:

D:\C++\qt_test\cryptool

Botan Lib:

D:\C++\qt_test\cryptool\botan

Botan Includes:

D:\C++\qt_test\cryptool\botan\Include

In den Projekteinstellungen ist libbotan.lib als zusätzliche Abhängigkeit eingetragen, die o.g. Pfade als zusätzlichen Lib/Include Verzeichnisse.

Folgende Libs musste ich ignorieren:

LIBCMT.lib;msvcrtd.lib

Anderfalls kommen die hier:

Code:
1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (0type_info@@AAE@ABV0@@Z) ist bereits in LIBCMTD.lib(typinfo.obj) definiert.
1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (4type_info@@AAEAAV0@ABV0@@Z) ist bereits in LIBCMTD.lib(typinfo.obj) definiert.
1>LIBCMTD.lib(crt0init.obj) : warning LNK4098: Standardbibliothek "msvcrtd.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.

Wenn ich die Botan lib nicht als zusätzliche Lib eintrage, kommt der hier:

Code:
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static void __cdecl Botan::LibraryInitializer::initialize(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?initialize@LibraryInitializer@Botan@@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)" in Funktion ""public: __thiscall Botan::LibraryInitializer::LibraryInitializer(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (0LibraryInitializer@Botan@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static void __cdecl Botan::LibraryInitializer::deinitialize(void)" (?deinitialize@LibraryInitializer@Botan@@SAXXZ)" in Funktion ""public: __thiscall Botan::LibraryInitializer::~LibraryInitializer(void)" (1LibraryInitializer@Botan@@QAE@XZ)".

... da die lib eben nicht eingebunden ist. Also scheint er die Includes sowie die Lib zumindest zu finden. Nur die undefined references bekomm ich nicht weg.
 
Zurück