Centos7.0 64位编译安装Nachos4.1 32位以及搭建交叉编译环境从尝试到放弃系列(一)
来源:互联网 发布:智能手表推荐 知乎 编辑:程序博客网 时间:2024/06/06 06:40
写在前面
(标题一定要长长长)
虽然说是该系列之一,不过也仅此一篇。由于问题有好几个,我就不另开其他的文章记录了,全糅杂于此。
实验内容
在Linux上编译安装Nachos, 还有搭建交叉编译环境
实验环境
腾讯云主机 Centos7.0 64位,
gcc 4.8.5
Nachos 4.1
结果
只实现了在centos上编译安装Nachos,没能成功搭建
交叉编译环境 ค(TㅅT)
遇到的问题以及解决
1.make depend
fatal error: iostream.h no such file or directory
解决:
将
#include “iostream.h”
改为
#include “iostream”
using namespace std;
详情请看:C++ - fatal error: iostream.h no such file or directory [duplicate] - StackOverflow
2.make
g++: error: unrecognized command line option ‘-fwritable-strings’
解决:
修改NachOS-4.1/code/build.linux/Makefile,将-fwritable-strings去掉,即:
CFLAGS = -ftemplate-depth-100 -Wno-deprecated -g –Wall -fwritable-strings
(INCPATH) (DEFINES) $(HOSTCFLAGS) –DCHANGED
为
CFLAGS = -ftemplate-depth-100 -Wno-deprecated -g -Wall
(INCPATH) (DEFINES) $(HOSTCFLAGS) –DCHANGED
也可参考:
compiling - Scanalyze install - Ask Ubuntu
3.make
如果遇到了:
解决
修改NachOS-4.1/code/lib/list.cc文件,将错误信息中所出现的所有函数(如IsEmpty()等)和变量(first,last等)增加this指针,即:this->IsEmpty(),this->first,this->last等
当然不能盲目修改,可以边看它给的error信息边修改。
小Tips:
a. vim里,:set number可以显示行号
b. :256可以跳到256行(根据调试信息快速定位到有问题的那一行)
c. cd -可以切换回之前的目录,比如我之前在/usr/local目录,现在在/usr/local/ostest3目录下,那么我用cd -就能快速切回之前的/usr/local目录
4.依然是make ┑( ̄Д  ̄)┍
Error: invalid instruction suffix for `push’
这里给出两个参考:
a. c++ - Error: invalid instruction suffix for `push’ - Stack Overflow
然而我尝试了加–32去编译以后还是失败了:
它给的结果是
make : unrecognized option ‘–32’
有哪位小伙伴成功了的告诉我一下这个方法怎么用
补充
我那天上课做实验时用的是make –32, 昨天上百度查好像应该是gcc的时候加的参数。尴尬
b. Linux AT&T汇编错误:Error: invalid instruction suffix for `push’ - Linux操作系统:Ubuntu_Centos_Debian - 红黑联盟
不过这个方法是可行的~所以只要在它提示里的文件开头加上 .code32就行啦
最终效果图
搭建交叉编译环境时遇到的问题
tar解压出错:
gzip: stdin: unexpected end of file
参见:
tar解压出错:gzip: stdin: unexpected end of file的解决
原因及解决:
压缩文件不完整,需要删了重新下一次
(ノಠ益ಠ)ノ彡┻━┻ 反正搞了一天还是不知道怎么在64位机子上搭建Nachos的这个交叉编译环境,求大佬指教
最新进展
最终64位向乌班图32位屈服了。到交叉编译这里的./configure是可以顺利进行的!
- Centos7.0 64位编译安装Nachos4.1 32位以及搭建交叉编译环境从尝试到放弃系列(一)
- 【转】Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境
- Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
- 链接—Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
- (转)Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
- ubuntu-16.04 64位系统搭建嵌入式交叉编译环境
- ubunt64位如何安装交叉编译环境
- JFreeChart 学习笔记
- Spring Boot(6)—— Spring Boot中定时任务
- 使用jQuery实现复选框的全选
- 应用级缓存示例
- 不同的SDK之间引用了同一个jar包出现的警告
- Centos7.0 64位编译安装Nachos4.1 32位以及搭建交叉编译环境从尝试到放弃系列(一)
- 破解时常用汇编命令
- C# WinForm窗体及其控件自适应各种屏幕分辨率
- 编码的故事
- ios对象转换为字典
- 理解大型分布式网站你必须知道这些概念
- GCC 中的编译器堆栈保护技术
- MT6605 nfc驱动移植篇
- 行善的最高境界不是施舍而是引路