Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)

Ostatnio zmodyfikowano 2015-01-13 20:54
Autor Wiadomość
troian
Temat założony przez niniejszego użytkownika
error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
» 2015-01-13 18:37:34
Witam, zacząłem korzystać z kompilatora Visual Studio 2013 Update 3 wcześniej kompilowałem ten sam program na VisualStudio 2008 SP1.

Wszystko szło bardzo dobrze aż do wysypania się na samym końcu kompilatora, pokazał mi on następujące błędy:


1>cryptlib-5.6.1MT.lib(cryptlib.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)
1>cryptlib-5.6.1MT.lib(cryptlib.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)
1>cryptlib-5.6.1MT.lib(gf2n.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_Mutex::_Unlock(void)" (?_Unlock@_Mutex@std@@QAEXXZ)
1>cryptlib-5.6.1MT.lib(gf2n.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ)
1>cryptlib-5.6.1MT.lib(integer.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z)
1>cryptlib-5.6.1MT.lib(integer.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z)

Kiedy szukałem informacji w necie znalazłem taką oto poradę aby przerobić

void Encode(byte *output, size_t outputLen) const;
Na

static void Encode(byte *output, size_t outputLen) const;
Jednak to nic nie pomogło, Bardzo proszę o pomoc gdyż wgl nie wiem jak sobie z tym poradzić i już chyba od 4 czy 5h walczę z tym.
P-124814
michal11
» 2015-01-13 19:48:56
To jest błąd linkera i to chyba dotyczący zewnętrznych bibliotek a nie twojego kodu. Musisz pokazać przynajmniej początki swoich plików żeby można było cos konkretnego powiedzieć.
P-124822
maly
» 2015-01-13 19:51:25
Po pierwsze czy masz cryptlib skompilowany dla VS 2013, po drugie czy kompilujesz aplikację z flagą /MT?
P-124823
troian
Temat założony przez niniejszego użytkownika
» 2015-01-13 19:55:29
Problem z kodem jast taki że składa się on z ponad 100 plików :-(
Jeżeli powiesz mi mniej więcej co trzeba pokazać to mogę podesłać
Mogę podesłać w których plikach on widzi błąd bo to mam dokładnie pokazane, chodzi tutaj o 2 pliki w sumie o 3 pliki
Mam podesłać ich kod ?

cryptlib - Nie wiem, ja po prostu odpaliłem kompilator i wysypał taki błąd, Ciekawe jest to że kiedyś kompilował mi to bez problemu, bo zaczynałem właśnie od 2013 i kompilowało się, nie wiem czy po Update się coś zepsuło czy co i zauważyłem że na 2008 kompilowało dobrze więc zostałem na 2008, jednak po pewnym czasie zaczęły się problemy, jaka kolwiek próba edycji kodu kończyła się wywaleniem kompilatora, więc postanowiłem wrócić na 2013 jednak problem nie zniknął. Nie rozumiem flagi /MT ?

Przykłądowy błąd, tak samo pokazuje przy plikach: gf2n, cryptlib oraz integer

Error 109 error LNK2001: unresolved external symbol "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z) D:\Client\UserInterface\cryptlib-5.6.1MT.lib(integer.obj) UserInterface
P-124824
maly
» 2015-01-13 20:07:10
Nie rozumiem flagi /MT ?
http://msdn.microsoft.com​/en-us/library/2kzt1wy3.aspx
http://msdn.microsoft.com​/pl-pl/library/2kzt1wy3.aspx

Problem z kodem jast taki że składa się on z ponad 100 plików
Ale powinien mieć też pliki projektu dla visuala.
P-124826
troian
Temat założony przez niniejszego użytkownika
» 2015-01-13 20:14:37
A więc tak Flagę /MT mam włączoną, podczas kompilacji, co do projektu chodzi tutaj o plik *.sln?

Edit a dobra już wiem o który plik chodzi o *.vcproj, Mam podesłać jego zawartość Tak ?
P-124829
maly
» 2015-01-13 20:19:32
Źle zrozumiałem z tymi 100-ma plikami, miałem na myśli pliki źródłowe cryptlib-a którego możesz sobie skompilować w swoim visualu.
P-124830
troian
Temat założony przez niniejszego użytkownika
» 2015-01-13 20:23:21
Może dokładniej opiszę sama aplikacja *.exe składa się z około 130 plików przy tym inicjuje inne lib / include takie jak python 7zip itp, i w katalogu include znajduje się też cryptopp on ma około 136 plików cpp i h

Może zadam prościej pytanie, czy mam podesłać te pliki z katalogu cryptopp które sprawiają mi problemy i ktoś kto więcej wie lukną by na nie i wytłumaczył mi przyczynę ów błędu?


Żeby nie było nie proszę o gotowe poprawienie kodu tylko o wskazanie przyczyny ów błedu.
P-124831
« 1 » 2
  Strona 1 z 2 Następna strona