[ Burgos @ 03.02.2005. 15:12 ] @
Moze li mi neko pomoci kako da kompajliram source da bi dobio .a fajl i kako da sve to na kraju povezem u jednom header fajlu |
[ Burgos @ 03.02.2005. 15:12 ] @
[ leka @ 03.02.2005. 16:43 ] @
Burgos, stvar je opisana ovde: http://www.faqs.org/docs/Linux-HOWTO/Program-Library-HOWTO.html , a GNU ar(chiver) ovde: http://www.nu6.org/_/man/index.php/man/ar/1. Manual za ranlib alat: http://www.nu6.org/_/man/index.php/man/ranlib/1 .
Generalno, raditi sa statickim bibliotekama (.a) je (malo) lakse nego rad sa dinamickim bibliotekama (.so) , dok je princip (skoro) isti - gomilu objektnih fajlova (.o) "trpas" u jedan jedini fajl da bi ih kasnije lako i efikasno koristio na nekoj drugoj masini i u raznoraznim aplikacijama... [ Burgos @ 03.02.2005. 18:15 ] @
Hvala ti mnogo!
[ Burgos @ 03.02.2005. 18:53 ] @
Nesto ne valja, Dejane!
Kada pokusam da kompajliram source koji koristi moj lib ne radi. Mozda nisam pokrenuo g++ sa dobrim parametrima? Evo sta se nalazi u libu: string2int.h Code: #include <string> class klasa { public: int conversion(std::string _convert); }; string2int.cpp Code: #include <iostream> #include <sstream> #include "string2int.h" using namespace std; int conversion(string _convert) { int _number; stringstream _ss; _ss << _convert; _ss >> _number; return _number; } ovo kompajliram sa g++ -o string2int.o string2int.h -wall -g -c sve to skupim lib.a sa ar rsc string2int.a string2int.o a fajl koji hocu da kompajliram, a koji koristi biblioteku kompajliram sa: g++ -o fajl fajl.cpp -L. string2int.a i dobijem ovu poruku: fajl.cpp: In function `int main(int, char**)': fajl.cpp:10: error: cannot call member function `int klasa::conversion(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' without object klasa::conversion(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' without object Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|