在 r-pi 上编译 c 程序时出错 raspbian

error compiling c program on r-pi raspbian

我的这段代码在我的桌面上编译得很好,但是当我尝试在 raspberry pi 上编译它时,我得到了这个错误

gcc -Wall -O2 -lGL -lGLU -lm -lSDL_image -lfftw3 -lftdi `sdl-config --cflags --libs` -c main.c
gcc -Wall -O2 -lGL -lGLU -lm -lSDL_image -lfftw3 -lftdi `sdl-config --cflags --libs` -c fft.c
gcc -Wall -O2 -lGL -lGLU -lm -lSDL_image -lfftw3 -lftdi `sdl-config --cflags --libs` -c draw.c
gcc -Wall -O2 -lGL -lGLU -lm -lSDL_image -lfftw3 -lftdi `sdl-config --cflags --libs` -c table.c
gcc -Wall -O2 -lGL -lGLU -lm -lSDL_image -lfftw3 -lftdi `sdl-config --cflags --libs` -c serial.c
gcc -Wall -O2 -lGL -lGLU -lm -lSDL_image -lfftw3 -lftdi `sdl-config --cflags --libs` main.o fft.o draw.o table.o serial.o -o main

/usr/bin/ld: Warning: size of symbol `table' changed from 2048 in table.o to 204 in //usr/lib/arm-linux-gnueabihf/pulseaudio/libpulsecommon-10.0.so /usr/bin/ld: table.o: undefined reference to symbol 'table' //usr/lib/arm-linux-gnueabihf/pulseaudio/libpulsecommon-10.0.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status makefile:6: recipe for target 'main' failed make: *** [main] Error 1

我已经尝试重新安装 libpulse0 并确保安装了 pulseaudio,并且在 pi 上搜索时可以找到 libpulsecommon-10。0.so。所以我不确定从这里开始做什么。

libpulsecommon 有一个名为 table 的全局符号,您的代码(可能是 table.c)也有一个使用此名称的 public 符号。链接时符号发生冲突。在您的代码中重命名 variable/function。