Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Error LNK2005 pri linkovani projektu s Alglib knihovnou

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Error LNK2005 pri linkovani projektu s Alglib knihovnou

Autor: AnonymousUser

2:30:49 14.03.2010

Tak si ještě jednou přečtěte co jsem Vám napsal a zařiďte se podle toho.

Citovat příspěvek

 

Re: Error LNK2005 pri linkovani projektu s Alglib knihovnou

Autor: Kositch4

22:45:18 13.03.2010

Knihovnu jsem kompiloval v tom Command Promptu spuštěním .bat souboru, který byl u ní přiložen (dělal jsem podle návodu). Poté jsem do Directories v Tools VS2008 přidal cestu pro Include a Library do složky, kam se mi knihovna Alglib zkompilovala. Nakonec jsem ještě musel knihovnu libalglib.lib ze stejné složky přidat do projektu tak, že jsem pravým klikl na projekt a dal přidat new item a tam zvolil tuto knihovnu.

V jiném projektu mi všechny funkce, které tato knihovna poskytuje, chodí jak mají a nikde není problém. V tomto projektu však při použití jedné funkce té knihovny vše funguje a při použití druhé si to stěžuje na tu duplikaci.

Projekt kompiluji normálně přes F5 a mám zadané includy podle toho, které jsou potřeba pro požadovanou funkci knihovny Alglib, kterou v projektu využívám. Četl jsem, že toto může způsobovat i špatně nastavené Runtime library v properties projektu, to jsem zkoušel a nepomohlo to.

Zde je odkaz na tu knihovnu ([url]http://www.alglib.net/[/url]), se kterou mám problémy (po kompilaci obsahuje velké množství .h souborů a jednu knihovnu libaglib.lib, kterou figuruje právě v těch erorech.

Citovat příspěvek

 

Re: TrapFlag

Autor: AnonymousUser

22:02:26 13.03.2010

A obě knihovny jste zkompiloval ve stejném módu a parametrech? Tedy debug to jako to?

Protože evidentně si stěžuje na duplikaci znakových traits, tedy to co je součástí hlavičkových souborů STL. Kompilátor je obvykle připraven sloučit tyhle metody šablon v linkeru, ale jen tehdy, pokud byly zkompilovány stejně. Jinak si stěžuje, že je má několikrát.

Miloslav Ponkrác
[url]http://ponkrac.net/complex-web-server[/url]
[url]http://ponkrac.net/pisma/[/url]

Citovat příspěvek

 

Re: Error LNK2005 pri linkovani projektu s Alglib knihovnou

Autor: Kositch4

17:46:36 13.03.2010

Program kompiluje přes VS Studio 2008 EE a knihovnu jsem kompiloval přes Visual Studio 2008 Command Prompt, měl bych ji kompilovat jinak? Jak je možné, že při nějakém použití to funguje a při využití jiné funkce knihovny vypíše linker tyto chyby?

Díky za radu!

Citovat příspěvek

 

Re: Error LNK2005 pri linkovani projektu s Alglib knihovnou

Autor: AnonymousUser

17:41:41 13.03.2010

Zkompilujte knihovnu i Váš program stejnou verzí kompilátoru s stejnými volbami nastavení překladu.

Miloslav Ponkrác
[url]http://ponkrac.net/complex-web-server[/url]
[url]http://ponkrac.net/pisma/[/url]

Citovat příspěvek

 

Error LNK2005 pri linkovani projektu s Alglib knihovnou

Autor: Kositch4

17:07:55 13.03.2010

Ahoj, chtěl bych se zeptat, zdali nevíte, jak se zbavit těchto chyb, které nastanou při linkování mého projektu.

Zdá se, že vše souvisí s mnou používanou knihovonou Alglib (libalglib.lib).
V projektu mám jeden .cpp soubor a poté .h soubor pro moji třídu. Mám VS C++ 2008 EE.
Zkoušel jsem všechny možné kombinace nastavení v project properties (různá nastavení runtime library pro debug i release mod atd... nic nepomohlo:(


Takto vypadají ty chyby pri výpisu kompilace:

1>Linking...

1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: static unsigned int __cdecl std::char_traits::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) already defined in libalglib.lib(trfac.obj)

atd.... podobné chyby se opakuji celkem několikrát, pro ukázku stačí podle mě jen tato jedna chyba.

Vše je zakončeno touto hláškou:

fatal error LNK1169: one or more multiply defined symbols found

Zajímavé je, že například při použití transpozice matice (#include "ablas.h") pomocí této knihovny nedojde k žádné chybě a knihovna normálně pracuje. Jakmile však chci použit inverzi matice (#include "inv.h") tak nastanou tyto chyby.

Moc díky za jakoukoliv radu, už opravdu nevím co s tím.

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: