求教一个关于Ubuntu中安装build-essential的问题(跪求帮助,卡了一星期了)

qq_25000015 2016-12-14 04:52:38
请问各位大神们,关于在Ubuntu中运行sudo apt-get install build-essential安装好编译程序的软件包,会不会因为Linux内核版本的不同造成生成的相应文件不同。
最近在虚拟机中执行build-essential命令后,在/usr/bin 中生成了c++链接文件,占用磁盘大小是700多KB,Ubuntu的版本是14.04(Linux内核版本是3.13.0);后来在一块开发板上安装了Ubuntu14.04(不过Linux内核版本是3.10.0,没办法官网只给了这个版本的内核,自己编译了烧录的),在板子上运行build-essential同样生成了c++的链接文件,占用磁盘大小只用500多KB。而且两者最后修改时间也不同(我也对比过了一些其他的文件,和c++相关的还有一些文件都有相同的问题)。最后在用到运行一个脚本安装应用的时候,给出了在/usr/bin/c++出错,说是释放两次(top),以及The compiler /usr/bin/c++ has no C++11 support. Please use a different C++;我现在确定了C++11没问题,因为我在装cmake后就修改了CMakeList文件,默认了-std=c++11,这样gcc可以默认了使用c++11了(我在虚拟机上样做没问题)。
对比到现在,也只有这条命令生成的文件有区别,现在问题是:Linux内核版本是否会对sudo apt-get install build-essential产生影响,使得Ubuntu在相应的源上安装对应的不同的版本的编译工具?????
...全文
518 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cocoabird 2016-12-17
  • 打赏
  • 举报
回复
引用 11 楼 qq_25000015 的回复:
@cocoabird 自己找到源下载软件包自己安装后占磁盘的大小一样,而且如果在根文件系统里执行build-essential的话c++链接文件也没差,应该是与内核有关,谢了!估计后面还有坑,一个一个填~~ 顺便问一下,知道nmcli命名吗??这个要安装什么后才能执行?
没用过这个,应该
qq_25000015 2016-12-16
  • 打赏
  • 举报
回复
@cocoabird 自己找到源下载软件包自己安装后占磁盘的大小一样,而且如果在根文件系统里执行build-essential的话c++链接文件也没差,应该是与内核有关,谢了!估计后面还有坑,一个一个填~~ 顺便问一下,知道nmcli命名吗??这个要安装什么后才能执行?
qq_25000015 2016-12-15
  • 打赏
  • 举报
回复
@ipqtjmqj 没有,我的意思是按照在虚拟机上的坏境搭建的,除了CPU不同,其他的差不多,编译方面编译器是一样的,只是不能多线程而已,不过这个只影响编译速度,其他的没影响
cocoabird 2016-12-14
  • 打赏
  • 举报
回复
引用 7 楼 qq_25000015 的回复:
@cocoabird 我也是这样想的,所以才想问下,在不同的内核版本下执行build-essential命令,会不会根据源的不同版本安装,换句话说,就是Linux内核在一个范围的版本下,会在源下载不同的包进行安装!不知道有没有这个可能?
有这个可能
ipqtjmqj 2016-12-14
  • 打赏
  • 举报
回复
引用 5 楼 qq_25000015 的回复:
@ipqtjmqj 板子的CPU和PC上肯定不同,一个是Cortex-A17一个是i5,编译出的文件是否一样这个我现在不知道怎么去考证,因为东西都在公司,但是我cmake安装工具,他能自动生成makefile文件,并不需要我去修改啊
编译器都不一样,编译出的文件肯定有差异啊
qq_25000015 2016-12-14
  • 打赏
  • 举报
回复
@cocoabird 我也是这样想的,所以才想问下,在不同的内核版本下执行build-essential命令,会不会根据源的不同版本安装,换句话说,就是Linux内核在一个范围的版本下,会在源下载不同的包进行安装!不知道有没有这个可能?
cocoabird 2016-12-14
  • 打赏
  • 举报
回复
不知道build-essential这个源一样不,你下载个build-essential包自己编译下,用一样的安装包,试试
qq_25000015 2016-12-14
  • 打赏
  • 举报
回复
@ipqtjmqj 板子的CPU和PC上肯定不同,一个是Cortex-A17一个是i5,编译出的文件是否一样这个我现在不知道怎么去考证,因为东西都在公司,但是我cmake安装工具,他能自动生成makefile文件,并不需要我去修改啊
qq_25000015 2016-12-14
  • 打赏
  • 举报
回复
@cocoabird gcc4.8.4是支持c11的,我是直接在板子上自己慢慢搭建的环境平台,按理说直接执行就好
qq_25000015 2016-12-14
  • 打赏
  • 举报
回复
引用 2 楼 yuelengdihai 的回复:
交叉编译器支持c11吗
@yuelengdihai gcc4.8.4是支持c11的,我是直接在板子上自己慢慢搭建的环境平台,按理说直接执行就好
cocoabird 2016-12-14
  • 打赏
  • 举报
回复
交叉编译器支持c11吗
ipqtjmqj 2016-12-14
  • 打赏
  • 举报
回复
你开发板的cpu与你pc的cpu不同吧,那么编译出的文件肯定也不同 你不相信apt-get的话,自己wget源文件,然后./configure, sudo make, sudo make install.交叉编译的话在sudo make之前改一下Makefile里的编译器

18,772

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧