[linux] Linkovanie voci vlastnej kniznici

Robert Varga nite na hq.alert.sk
Pátek Listopad 9 16:18:04 CET 2001


On Fri, Nov 09, 2001 at 03:02:44AM +0100, Ondrej Jombik wrote:
> 					Maxim, 02:52:07
> 					09. november 2001 (piatok)
> Zdraviim!
> 
> 	Dakujem, za vsetky odpovede ohladom mojej otazky.
> 
> > prikaz gcc keby sme suboru zmenili koncovku na .cpp. Pokial chces
> > pouzivat v cpp moduloch funkcie a objekty z C modulu. Musis ich
> > deklarovat ako extern "C".
> 
> 	Mojim cielom je/bolo vytvorit kniznicu, voci ktorej by sa dalo
> linkovat aj s gcc aj s g++. Pochopitelne, program kompilovany a linkovany s
> gcc voci mojej kniznici by mohol z tejto kniznice pouzivat len neobjektovy
> kod. Naopak program kompilovany a linkovany g++ voci mojej kniznici by mohol
> pouzivat tak neobjektovy ako aj objektovy kod.
> 
> 	Nie som si isty ci to spravne chapem, ale z uvedeneho mi vyplyva, ze
> by to malo ist, ked neobjektove veci "vlozim" do extern "C" { } a nasledne
> skompilujem vsetky subory v kniznici pomocou g++.
> 
> 	Chapem to spravne?
> 
> 	Skusal som k tejto problematike najst aj cosi na Webe. Bolo toho
> skutocne neurekom, len je to cele akosi zlozitejsie ako som si povodne
> myslel. Objavil som tam totiz kopu dalsich "zaujimavosti". Preto aby som mal
> aspon v tejto jednej veci jasno, sa ju pytam cez konferenciu. Dakujem.

No ja som tento problem vyriesil takto:

1. Cela funkcionalita je v Cckovom kode
2. V kniznici je C++ frontend, ktory pouziva Cckove funkcie
3. Header deklarujem takto:

#ifdef __cplusplus
extern "C" {
#endif

	<C-ckove API>

#ifdef __cplusplus
}

	<C++ API>

#endif

Cele som to skompiloval gcc-ckom (lebo z C++ som pouzival len classes), zlinkoval a mal pokoj ;-)

Reference:
http://hq.alert.sk/projects/nconfig/

-- 
Kind regards,
Robert Varga
------------------------------------------------------------------------------
n na hq.sk                                          http://hq.sk/~nite/gpgkey.txt
 
------------- další část ---------------
Netextová příloha byla odstraněna...
Jméno: [žádný popis není k dispozici]
Typ: application/pgp-signature
Velikost: 232 bytes
Popis: [žádný popis není k dispozici]
Url : http://lists.linux.sk/pipermail/linux/attachments/20011109/fc0037a6/attachment.bin 


Další informace o konferenci linux