Problem s pouzitim C kniznice v C++ programe

Sekcia: Programovanie 08.09.2006 | 16:50
Avatar Frantisek Klabzuba Debian  Používateľ
Ahoj. Mam staticku kniznicu (.a) ktora je compilovana s gcc ako obycajny C program. Ked ju zahrniem do ineho programu ktory je v C tak je to ok ale ked ju chcem dat do C++ programu a skompilovat cez g++ tak hlasi chyby s nedefinovanymi referenciami. Neviete niekto v com by mohol byt problem? Spravil som priklad, ma len 1 kB najdete ho tu (je to tam aj podrobnejsie popisane): http://senzory.ahoj.sk/problem_c_vs_cpp.tgz Vdaka, dvh
    • Re: Problem s pouzitim C kniznice v C programe 08.09.2006 | 01:00
      Avatar milossramek kubuntu, debian  Používateľ
      Najskor takto: extern "C" { #include // tu su deklaracie C funkcii } zdravim milos
    • Re: Problem s pouzitim C kniznice v C programe 08.09.2006 | 11:03
      m0d0r   Návštevník
      najskor -L a potom az -l alebo si daj tu libk do toho isteho adresara ako kompilujes a uvudis ;DDDD
      • Re: Re: Problem s pouzitim C kniznice v C progra 08.09.2006 | 11:05
        m0d0r   Návštevník
        PS : tieto pravidla musia byt niekde napisane ako sa to ma pisat zasebou nemyslis ?:)
    • Re: Problem s pouzitim C kniznice v C programe 08.09.2006 | 12:54
      Avatar Frantisek Klabzuba Debian  Používateľ
      Nefunguje ani jeden sposob. - dal som do .h suborov: extern void say_hello(); extern void say_bye(); - prehodil som poradie -L -I -l - skusil som libgreetings.a skopirovat do toho adresara kde je test1.cc Skusali ste ten balicek s tymi zdrojakmi? Ide to niekomu? dvh
      • Re: Re: Problem s pouzitim C kniznice v C progra 08.09.2006 | 14:07
        m0d0r   Návštevník
        skus zmenit greetings.h na : #include "hello.h" #include "bye.h" test1.c na : #include extern "C" { #include "greetings/greetings.h" } int main(void) { say_hello(); say_bye(); return 0; } a miesto gcc pouzi g++ a uvidis !! a nabuduce si precitaj manual napr.
        • Re: Re: Re: Problem s pouzitim C kniznice v C pr 08.09.2006 | 16:50
          Avatar Frantisek Klabzuba Debian  Používateľ
          Ok, vdaka, uz to ide, stacilo do test2.cc pridat toto: extern "C" { #include "greetings/greetings.h" } (g++ som pouzil v test2 !) vdaka