WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-07-17 20:34:49

学习
会员
注册时间: 2019-07-08
累计积分: 26

V3S 使用的是BSP Linux 写的应用程序怎么解决动态编译在板子上跑不起来的问题

#include <stdio.h>
    int main()
    {
    printf("Hello World!\n");
       return 0;
    }


就这样的程序都要静态编译! 怎么办呀

最近编辑记录 学习 (2019-07-17 20:35:07)

离线

#2 2019-07-17 20:37:27

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,476

Re: V3S 使用的是BSP Linux 写的应用程序怎么解决动态编译在板子上跑不起来的问题

gcc -o hello hello.c -static

离线

#3 2019-07-17 20:40:07

学习
会员
注册时间: 2019-07-08
累计积分: 26

Re: V3S 使用的是BSP Linux 写的应用程序怎么解决动态编译在板子上跑不起来的问题

晕哥 说:

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


动态编译是可以编译的!

离线

#4 2019-07-17 20:49:37

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,476

Re: V3S 使用的是BSP Linux 写的应用程序怎么解决动态编译在板子上跑不起来的问题

应该是 asound 没有提供静态库,看能否把这一个文件动态链接,其他的镜头链接。

或者自己编译 libasound.a

离线

#5 2019-07-17 22:17:30

学习
会员
注册时间: 2019-07-08
累计积分: 26

Re: V3S 使用的是BSP Linux 写的应用程序怎么解决动态编译在板子上跑不起来的问题

晕哥 说:

应该是 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)

离线

#6 2019-07-17 22:23:45

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,476

Re: V3S 使用的是BSP Linux 写的应用程序怎么解决动态编译在板子上跑不起来的问题

嗯,不错, 加油!

离线

页脚