ubuntu22.04编译官方d1s库出错
-
/usr/bin/ld: cmcmd.o: in function `cmcmd::ExecuteLinkScript(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)': cmcmd.cxx:(.text+0x54b0): undefined reference to `cmsysProcess_New' /usr/bin/ld: cmcmd.cxx:(.text+0x550f): undefined reference to `cmsysProcess_SetPipeShared' /usr/bin/ld: cmcmd.cxx:(.text+0x5528): undefined reference to `cmsysProcess_SetPipeShared' /usr/bin/ld: cmcmd.cxx:(.text+0x5541): undefined reference to `cmsysProcess_SetOption' /usr/bin/ld: cmcmd.cxx:(.text+0x568d): undefined reference to `cmsysProcess_SetCommand' /usr/bin/ld: cmcmd.cxx:(.text+0x56d0): undefined reference to `cmsysProcess_Execute' /usr/bin/ld: cmcmd.cxx:(.text+0x56e4): undefined reference to `cmsysProcess_WaitForExit' /usr/bin/ld: cmcmd.cxx:(.text+0x56f3): undefined reference to `cmsysProcess_GetState' /usr/bin/ld: cmcmd.cxx:(.text+0x5723): undefined reference to `cmsysProcess_GetExitValue' /usr/bin/ld: cmcmd.cxx:(.text+0x5772): undefined reference to `cmsysProcess_GetExceptionString' /usr/bin/ld: cmcmd.cxx:(.text+0x57c6): undefined reference to `cmsysProcess_GetErrorString' /usr/bin/ld: cmcmd.cxx:(.text+0x5845): undefined reference to `cmsysProcess_Delete'
应该是少了什么库,求大神指点。谢谢
-
昨天折腾一下午。
ubuntu22.04编译成功比较麻烦。
1、网上有人折腾ubuntu22.04,需要打一些补丁。
2、发现出错的是cc命令,是sdk编译工具用的,这些工具主机用,是调用的是主机的编译器生成。办法如下:
(1)将gcc和g++降级,22.04的最低只能安装gcc9,用了后也不行。
(2)要点就是,要设定apt的sourcelist。将ubuntu16.04的源加进去
(3) 安装ubuntu16.04的编译器,并把这个16.04的gcc(5.xx版本)设为默认gcc。可以网络搜索gcc降级的教程
3、编译过程中,会出现一些错误,通常是少了什么库,可以自己辨别。笔记:
1、sdk会生成大量工具,会调用主机的编译器。跟ubuntu版本有关。
网上的教程基本都是sdk生成中间工具时出问题。
2、sdk会生成交叉编译器工具,会调用主机的编译器。跟ubuntu版本有关,这一部分没有问题。
3、sdk生成的交叉编译工具,编译uboot和tina-linux内核和基础的rootfs。这一部分被sdk的版本给控制,基本没有出错。
4、最后pack,需要安装32位的库。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号