这个跟你的依赖库有关,你编完程序后通过ldd命令可以看到实际依赖的库。 当我们说编译器时,更准确地讲是整个编译环境,包括各种库啊,头文件啊。对于你的情况,在编译包括链接的时候它找到的是PC上的版本A的库(因为动态库,它假设以后是在有该版本库的环境下运行的),而当你放到开发板上,却只有版本B的库,尽管其实差不多。但运行时的版本检查肯定不会放过的。所以正确的做法:你在PC上同样要有版本B的库,那这个版本B的库从何而来,往往就是来自于你的编译环境了。
问题在于,你去哪里找到最新的内核呢,或者说哪个最新的内核呢?你这个内核是montavista的,印象中TI板子后期的内核就不再是monta了。尽管都是开源,你去内核官网下载的内核以及编译器,要想让它完全在你的板子上跑起来,里面有一堆配置要改,对于新手且对硬件不熟悉的人来说,工作量非常大。所以,你需要做的:咨询TI,以获取支持本开发板的最新内核,和编译器,可能还是2.6.2x的,但对你的板子来说,已经是最新的了。
[quote=引用 4 楼 zhxianbin 的回复:] 是不是同一个编译器编译的,是的话你做文件系统的时候,拷贝库是不是漏了
是不是同一个编译器编译的,是的话你做文件系统的时候,拷贝库是不是漏了
你这个差得还有些多了。总体来说,编译环境和运行环境差距太大,编译环境对应的很多依赖库在运行环境都没有,博客里面用到的编译器是arm-linux-gcc-4.3.2,而你的内核所用编译器是3.4.7,具体是哪个公司的交叉编译器看不出来,建议你咨询一下该开发板的其他使用者。 另外,交叉编译器一般都是会跟内核配套好一点,因此,建议你使用与内核一致的交叉编译器来编译opencl,反之会很困难。 PS:你这个DM6467的开发套件已经算是很旧了,有些资源可能TI都不一定支持了,建议更换硬件吧
缺少依赖的库
23,125
社区成员
74,509
社区内容
加载中
试试用AI创作助手写篇文章吧