[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