Warsztat - Programowanie gier

Wrzesień 03, 2010, 04:15:47 *
Witamy, Gość. Zaloguj się, lub zarejestruj proszę.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Warsztat, Regulamin forum, #warsztat, Wiki, FAQ, NoPaste, Mapa
 
   Strona główna   Pomoc Szukaj Zaloguj się Rejestracja  
Strony: [1]
  Drukuj  
Autor Wątek: MS VISUAL C++ 2008 EE with svl library!  (Przeczytany 823 razy)
nexor
Gość
« : Październik 21, 2008, 20:08:51 »

Cześć, mam taki elementarny problem z biblioteką svl w visualu. Coś nie udaje mi się uruchomić projektu napisanego z użyciem tej biblioteki. Cigle dostaję komunikaty od linkera, że nie może otworzyć pliku libcid.lib.

Czy może wiecie coś na ten temat?

Cytuj
Linking...
svl.lib(Basics.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification
LINK : fatal error LNK1104: cannot open file 'libcid.lib'

O mniej więcej tak to wygląda. Z góry dzięki.
« Ostatnia zmiana: Październik 21, 2008, 20:11:09 wysłane przez nexor » Zapisane
Złośliwiec
Member2000
*******

wiadomości: 2887


Zobacz profil WWW
« Odpowiedz #1 : Październik 21, 2008, 20:48:39 »

Nie znam biblioteki o której mówisz, ale błąd z plikiem libcid.lib wygląda na użycie "starych" strumieni. W nowych SDK (powyżej VS 6.0) tego chyba nie ma, więc nie powinieneś linkować swojego programu z tym plikiem. Jeśli masz dostęp do źródeł biblioteki, to pozmieniaj wszystkie <iostream.h> na <iostream> i nie linkuj z libcid.lib. Jeśli masz tylko binarki, to potrzebujesz jakiejś nowszej ich wersji Smiley.
Zapisane

"Jedynym dowodem na istnienie pozaziemskiej inteligencji jest to, że się z nami nie kontaktują" (A. Einstein)

Untitled - nowa wersja:  llllllllllllllllllll 17%
radsun
Sr. Member
****

wiadomości: 476



Zobacz profil WWW
« Odpowiedz #2 : Październik 21, 2008, 20:52:16 »

Kod
cannot - nie można
open - otworzyć
file - pliku
'libcid.lib'

Jeśli nadal chcesz używać tej biblioteki po tym co napisał Złośliwiec to musisz ją mieć w katalogu lib albo dodać ścieżkę w opcjach projektu  Wink
Zapisane

Złośliwiec
Member2000
*******

wiadomości: 2887


Zobacz profil WWW
« Odpowiedz #3 : Październik 21, 2008, 21:05:52 »

Jeśli nadal chcesz używać tej biblioteki po tym co napisał Złośliwiec to musisz ją mieć w katalogu lib albo dodać ścieżkę w opcjach projektu  Wink

To tylko w ostateczności. Jak już wspomniałem, ten plik nie jest składnikiem VS 7.0 i nowszych, więc widocznie nie jest to zalecany sposób obejścia tego problemu Smiley.
Zapisane

"Jedynym dowodem na istnienie pozaziemskiej inteligencji jest to, że się z nami nie kontaktują" (A. Einstein)

Untitled - nowa wersja:  llllllllllllllllllll 17%
nexor
Gość
« Odpowiedz #4 : Październik 21, 2008, 21:24:34 »

@Złośliwiec, czyli to oznacza, że biblioteka svl używa nagłówków iostream.h zamiast iostream?
Bo właśnie, w niektórych plikach svl jest includowany plik iostream, więc chyba wszystko w porządku. Nie wiem czy ja to dobrze rozumiem?

A przy okazji, co ogólnie polecilibyście na ten problem?

Hmm, trochę się pogubiłem w tych plikach. Jest ich za dużo chyba.

#edit:
W opcjach projektu w linkerze w opcji Ignore Specific Library dopisałem do listy libcid.lib libcid.lib LIBCD.lib i jakby problem posunął się od przodu.
Kod:
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall Mat4::MakeDiag(float)" (?MakeDiag@Mat4@@QAEXM@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall Mat4::Mat4(float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float)" (??0Mat4@@QAE@MMMMMMMMMMMMMMMM@Z)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol __HUGE
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "public: class ostream & __thiscall ostream::operator<<(double)" (??6ostream@@QAEAAV0@N@Z)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "public: class ostream & __thiscall ostream::operator<<(unsigned char)" (??6ostream@@QAEAAV0@E@Z)
svl.lib(Basics.obj) : error LNK2001: unresolved external symbol "public: class ostream & __thiscall ostream::operator<<(unsigned char)" (??6ostream@@QAEAAV0@E@Z)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "public: class ostream & __thiscall ostream::operator<<(char const *)" (??6ostream@@QAEAAV0@PBD@Z)
svl.lib(Basics.obj) : error LNK2001: unresolved external symbol "public: class ostream & __thiscall ostream::operator<<(char const *)" (??6ostream@@QAEAAV0@PBD@Z)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "class ostream_withassign cerr" (?cerr@@3Vostream_withassign@@A)
svl.lib(Basics.obj) : error LNK2001: unresolved external symbol "class ostream_withassign cerr" (?cerr@@3Vostream_withassign@@A)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "public: class istream & __thiscall istream::operator>>(double &)" (??5istream@@QAEAAV0@AAN@Z)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "public: class istream & __thiscall istream::operator>>(char &)" (??5istream@@QAEAAV0@AAD@Z)
svl.lib(Basics.obj) : error LNK2001: unresolved external symbol "public: class istream & __thiscall istream::operator>>(char &)" (??5istream@@QAEAAV0@AAD@Z)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "public: class istream & __thiscall istream::get(char &)" (?get@istream@@QAEAAV1@AAD@Z)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "public: int __thiscall istream::peek(void)" (?peek@istream@@QAEHXZ)
svl.lib(LibSVL.obj) : error LNK2001: unresolved external symbol "public: class ostream & __thiscall ostream::flush(void)" (?flush@ostream@@QAEAAV1@XZ)
svl.lib(Basics.obj) : error LNK2001: unresolved external symbol "public: class ostream & __thiscall ostream::flush(void)" (?flush@ostream@@QAEAAV1@XZ)
svl.lib(Basics.obj) : error LNK2001: unresolved external symbol "class istream_withassign cin" (?cin@@3Vistream_withassign@@A)
svl.lib(Basics.obj) : error LNK2001: unresolved external symbol "public: class ostream & __thiscall ostream::operator<<(int)" (??6ostream@@QAEAAV0@H@Z)

Tylko za mocno nie bijcie za "unresolved external symbol"

Aha, dopiszę jeszcze tylko, że pod devem nie miałem żadnych problemów z biblioteką svl. Czyżby svl była przestarzała, or something?
« Ostatnia zmiana: Październik 21, 2008, 21:55:44 wysłane przez nexor » Zapisane
radsun
Sr. Member
****

wiadomości: 476



Zobacz profil WWW
« Odpowiedz #5 : Październik 22, 2008, 07:11:12 »

No nie wiem czy się posunąłeś do przodu ignorując tą bibliotekę bo jak widać wciąż jest wymagana.

Co do tego czy jest przestarzała to raczej ( nie znalazłem jej w google  Roll Eyes ).
Wiesz o niej coś poza nazwą?
Zapisane

Złośliwiec
Member2000
*******

wiadomości: 2887


Zobacz profil WWW
« Odpowiedz #6 : Październik 22, 2008, 09:22:26 »

Nie chodzi o to, żeby ignorować tego libka, bo skoro go nie ma, to i tak nie jest linkowany Smiley. Chodzi o to, żeby twój program nie chciał się z nim linkować. Sprawdziłem - biblioteka dostępna jest w postaci kodu źródłowego (i rzeczywiście wciąga <iostream.h>). Wystarczy więc pozmieniać wszystkie takie dyrektywy #include, zadbać, żeby biblioteka "znała" przestrzeń nazw std, no i zbudować z niej własną binarkę. Jeśli nie wiesz, jak to zrobić, to... masz świetną okazję, by się dowiedzieć Smiley.
Zapisane

"Jedynym dowodem na istnienie pozaziemskiej inteligencji jest to, że się z nami nie kontaktują" (A. Einstein)

Untitled - nowa wersja:  llllllllllllllllllll 17%
nexor
Gość
« Odpowiedz #7 : Październik 22, 2008, 17:03:01 »

Dobrze więc, dzięki wielkie za odpowiedzi. Nie pozostaje nic innego jak się zabrać do pracy.
Tak, jest rzeczywiście  w svl dołączone w pliku Basics.h iostream.h. Nie zauważyłem tego wcześniej. Dzięki za poświęcenie Smiley Wasz trud nie pójdzie na marne albowiem dam wam karmę, która jest bardzo ważna. Smiley Jeszcze raz dzięki.
Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Hosting: Polska Strefa - Ogłoszenia
Powered by SMF 1.1.7 | SMF © 2006, Simple Machines LLC