#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
就这样的程序都要静态编译! 怎么办呀
最近编辑记录 学习 (2019-07-17 20:35:07)
离线
gcc -o hello hello.c -static
谢谢,这个程序静态编译时可以跑,有些静态编译不行呀比如我想测试一下音频的程序 使用
arm-linux-gnueabi-gcc /home/kerson/Desktop/alsa_test.c -o test22 -static -lasound
就提示
/home/kerson/Desktop/new/mango-pi-sdk/tools/external-toolchain/bin/../lib/gcc/arm-linux-gnueabi/4.6.3/../../../../arm-linux-gnueabi/bin/ld: cannot find -lasound
collect2: ld returned 1 exit status
动态编译是可以编译的!
离线
应该是 asound 没有提供静态库,看能否把这一个文件动态链接,其他的镜头链接。
或者自己编译 libasound.a
谢谢啦,按你说的编译了一个,可以编译运行了,
编译alsalib要在root下编译,
CC=arm-linux-gnueabi-gcc ./configure --host=arm-linux-gnueabi --prefix=/usr/local/arm_alsa --enable-shared=no --enable-static=yes
make
make install
然后把编译出来的include文件和lib文件放在交叉编译器的对应路径
然后编译程序
arm-linux-gnueabi-gcc -o test alsa_test.c -static -lasound -lm -lrt -ldl -lpthread
最近编辑记录 学习 (2019-07-17 22:19:10)
离线