Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: roxton 30 Září 2015, 09:57:40

Název: undefined reference to `snd_asoundlib_version'
Přispěvatel: roxton 30 Září 2015, 09:57:40
Píšu v C pro malinu (raspbian), ale většinu kódu nejprve odladím v pohodlí na stanici s Ubuntu. Se standardními knihovnami není sebemenší problém, ale když chci pracovat se zvukovkou (alsa), tak se mi nedaří funkční kód z maliny na Ubuntu (14.04.3, 64 bit) přeložit (nebo asi spíš zlinkovat).

program.c:
#include <alsa/asoundlib.h>
int main()
{
   printf( "ALSA sound library: %s\n", snd_asoundlib_version() );
   return 0;
}
gcc -lasound program.c
/tmp/ccFiWSuO.o: In function `main':
program.c:(.text+0x5): undefined reference to `snd_asoundlib_version'
collect2: error: ld returned 1 exit status

Kde dělám chybu ? Stejný problém je se všemi metodami snd_xxx.
Název: Re:undefined reference to `snd_asoundlib_version'
Přispěvatel: Martin Šácha 30 Září 2015, 10:28:11
Musis mit prvne zdrojak a pak linkage...
Název: Re:undefined reference to `snd_asoundlib_version'
Přispěvatel: roxton 30 Září 2015, 13:05:38
Díky za reakci, ale jaký zdroják prosím musím mít ? Na malině jsem doinstaloval balíček libasound2-dev, pak jsem přidal gcc parametr -lasound, a překládám a funguje to.
Název: Re:undefined reference to `snd_asoundlib_version'
Přispěvatel: Martin Šácha 30 Září 2015, 15:42:13
Myslel jsem v parametrech, tj
Kód: [Vybrat]
gcc ./program.c -lasound
A pochopitelne musis mit nainstalovany i asound (bez dev)
Název: Re:undefined reference to `snd_asoundlib_version'
Přispěvatel: roxton 02 Října 2015, 08:41:05
Děkuji moc za konzultaci.
Problém byl v pořadí parametrů, zatímco na malině funguje
Kód: [Vybrat]
gcc -lasound program.ci
Kód: [Vybrat]
gcc program.c -lasoundtak na ubuntu funguje jen druhý způsob.
Musím si prostudovat man gcc.
Název: Re:undefined reference to `snd_asoundlib_version'
Přispěvatel: Martin - ViPEr*CZ* 02 Října 2015, 08:58:09
Jo jo na pořadí argumentů pozor. To mám třeba problém v Cmake ten samý. Navíc používám Clion a furt přepisuju vygenerovanej texťák, protože oni to generují prý na verzi, kde to funguje a problém je ve verzi a v Cmake. A tudíž maj to pořadí argumentů obráceně, ale mě to na nejnovějších systémech nefunguje bohužel bez zásahu.