我需要将库(portaudio)链接为静态库。当我这样做无法将portaudio库链接为静态库
arm-none-linux-gnueabi-gcc -static -L/media/Data/lib/.libs -lportaudio prova.cpp
连接失败告诉我
/tmp/ccuoQi1J.o: In function `main':
prova.cpp:(.text+0x190): undefined reference to `Pa_Initialize'
prova.cpp:(.text+0x1bc): undefined reference to `Pa_GetDeviceCount'
prova.cpp:(.text+0x1d8): undefined reference to `Pa_GetDeviceInfo'
prova.cpp:(.text+0x248): undefined reference to `Pa_OpenDefaultStream'
prova.cpp:(.text+0x27c): undefined reference to `Pa_CloseStream'
prova.cpp:(.text+0x280): undefined reference to `Pa_Terminate'
collect2: ld returned 1 exit status
同时,没有-static选项,联没有给出错误
arm-none-linux-gnueabi-g++ -L/media/Data/lib/.libs -lportaudio prova.cpp
我需要静态链接库所有,是有可能吗?
我想静态链接共享库,因为我不想将其安装在目标系统中;这是因为文件系统不是持久的,我将不得不在每次启动时安装库。我不知道是否可以完成,也许我必须建立图书馆到一个静态版本。 – gc5 2012-04-07 15:57:10
我试过以下没有结果: 'arm-none-linux-gnueabi-gcc -Wall -static -I ../ portaudio/include ../portaudio/lib/.libs/libportaudio.a prova.cpp ' 和 'arm-none-linux-gnueabi-gcc -Wall -static -I ../ portaudio/include -L ../ portaudio/lib/.libs -lportaudio prova.cpp' 。 扩展名为.a的库位于目录“../portaudio/lib/.libs” – gc5 2012-04-11 13:27:48
现在我以这种方式链接:'/ home/francesco/Dropbox/poli/bi/not/ip/cross/arm -2007q3/bin/arm-none-linux-gnueabi-gcc -Wall -static -I/home/francesco/Dropbox/poli/bi/not/ip/portaudio/include -L/home/francesco/Dropbox/poli/bi /not/ip/portaudio/lib/.libs prova.cpp'。 portaudio/lib/.libs的内容为'file ../portaudio/lib/.libs/* ../portaudio/lib/.libs/libportaudio.a:current ar archive ../portaudio/lib/.libs /libportaudio.la:符号链接到'../libportaudio.la' ../portaudio/lib/.libs/libportaudio.lai:libtool库文件 '。顺便说一句,我得到了同样的结果:| – gc5 2012-04-11 13:44:17