构建编译
1. Ubuntu下如何构建交叉编译环境
下面就一些问题作一个说明,以期抛砖引玉。
基于linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成(所以称为交叉编译)。双方之间一般通过串口,并口或以太网接口建立连接关系。
但在此我建议构建如下的交叉编译环境,适合个人或研发小组使用:单独拿出一台PC机(PII以上即可,就用以前淘汰的旧机器就可以),在该PC上安装桌面的Linux操作系统(如Red Hat Linux 8.0及以上),可以采用默认的安装选项(注意要包含ftp服务),这台PC作为Linux服务器,除管理员以外,一般不直接让其他人去操作。
将该Linux服务器接入局域网,并新建一些合法用户,以便其他的PC机(在此我们将其称为工作站)的合法用户能访问到Linux服务器。而其他的PC机(工作站)仍然使用Windows操作系统,原来干啥继续干啥。
需要的软件工具包括:
1、FTP客户端程序(如Cuteftp,可到网上下载)。
2、Telnet工具(如SecureCRT,可到网上下载)。
3、移植到某一特定ARM平台的Linux操作系统内核源码(一般由销售商整理提供)。
4、GNU编译工具,可由相关网站下载,或由销售商整理提供。
在工作站安装:
在某工作站PC上安装FTP客户端程序和Telnet工具,安装完毕后应该可以在该工作站PC和Linux服务器之间进行文件的传输,并在工作站PC可以通过Telnet登陆到Linux服务器(可能需要将Linux服务器的防火墙服务关闭才能完成)。
在Linux服务器安装:
将工作站PC上的Linux操作系统内核源码压缩包和GNU编译工具通过FTP传送到Linux服务器的某个目录(如合法的用户目录),然后在该目录下解压,并将GNU编译工具安装到默认的工作目录即可,以上工作通过在工作站PC使用Telnet工具完成,而不需要在Linux服务器上进行。
Linux操作系统内核的编译:
Linux操作系统内核的编译一般有一个比较固定的步骤,会根据MakeFile文件的不同而略有差异,可参考相关文档,编译的工作在工作站PC使用Telnet工具完成。
按固定的步骤编译内核完成以后,会在相应目录生成可执行的二进制文件,通过FTP将该可执行的二进制文件传回工作站PC,然会再通过ADS或SDT下的烧写工具写入开发板的Flash即可。
2. C语言中构建文件和编译文件有什么区别拜托,谢谢
不大清楚LZ的问题实质
但是可以简单说 编译过程是把你编写的程序 转化成一种可执行文件 在电脑上运行。
构建 可能是构建某种工程或者系统吧? 更多的侧重在各个执行文件的搭配 相互调用上吧
希望有用
3. 如何在安卓系统下构建c++编译环境
这个有点难,现在安卓能用的(我知道的)只有一个软件C4droid可以在android系统中编译c/c++:
编译界面:

4. c++中的编译,构建各是起什么作用
编译:把当前源代码编译成2进制目标文件
构建:先把工程中所有源代码编译成目标文件,再link链接成可执行文件(或者lib、dll,看具体工程)。这其中,如果有源文件在此之前被单独编译过,这个文件就不参加编译,它之前编译时产生的目标文件参加link(链接)过程。
重新构建:就是不管之前有没有源文件被单独编译,都要参与编译。
不同的C++编译环境可能不一定叫构建,但都有类似的功能。
5. 什么是编译和构建德尔福之间的区别
因为一个程序有很多文件组成,叫工程 编译,是编译工程的当前文件,其他文件不编译,如果单文件,则会生成可执行程序。 构建,会编译工程中的未编译和已改动文件,并生成可执行程序
6. 如何构建编译TWRP touch recovery
目前稳定的的分支是twrp2.4板本2.4.xx代码基地。如果你使用的CM10.1你*必须*使用twrp2.4分支。主分支代表TWRP2.2和JB-WIP TWRP2.3。选择任何你喜欢的分支,但唯一的分支越来越活跃的代码更改twrp2.4。
* CM7 ONLY*
更换整个CM7/build文件夹:
确保您获得twrp2.3分支和不是主分支。
*开始构建编译*
注意:如果您添加或更改任何标志,你将需要进行编译清除,然后再重新编译或标志更改将不被使用起。
现在,你的源代码,你需要设置或更改您的设备(S)的一些构建标志。查找BoardConfig.mk为您的设备,CM/devices/manufacturer/codename文件夹(例如CM/devices/hp/tenderloin/BoardConfig.mk)BoardConfig.mk。首先配置BoardConfig.mk的文件为
TARGET_RECOVERY_INITRC:=
如果您的设备有此行,将在恢复中使用一个自定义,预置init.rc的路径。最有可能的是,你将需要略微更改自定义init.rc。寻找recovery中的init.rc文件,并打开它。顶部附近,你会看到这样的信息:
on init
export PATH /sbin
export LD_LIBRARY_PATH .:/sbin
添加所需的最后一行。这条线是需要得到的链接器运行。 TWRP ClockworkMod不同,是一个动态链接的恢复。动态链接可以让我们节省了大量的空间,以帮助确保,TWRP恢复图像将适合在更多的设备。它也让我们使用动态链接的触摸屏上看到摩托罗拉Photon与Atrix和惠普的TouchPad,而无需 mount /system 的二进制文件。
还需要包括您的主板配置架构和平台设置。通常情况下,这些都已经包含了,如果你正在使用设备的configs别人创建的,但如果你创建你自己的,你可能需要添加他们。没有他们,往往会恢复故障段在启动过程中,你只会看到屏幕上一遍又一遍地典辉帘闪光。
您还需要至少一个TWRP构建标志。我们通常把所有我们的国旗在下BoardConfig.mk底部标题#TWRP对于所有的设备,你需要设置的分辨率。 TWRP这样它才能知道什么样的股票主题包括在编译时需要知道的分辨率。您可以只使用有一个主题,所以如果您没有看到您的分辨率,你必须选择一个小于或等于您电脑的分辨率的决议。bootable/recovery/gui/devices中,你可以找到名单中的官方主题。因此,如果您的设备有一个540x960的显示屏,你想补充一点:
7. 利用 nix 构建交叉编译环境
linux 嵌入式开发的时候需要交叉编译环境,利用nix可以非常方便的构建这一个环境。
我现在的系统是 macos,我需要在macos 上编译软件,使得这个软件在 linux 运行,nix 配置文件如下:
将配置文件保存成 shell.nix, 然后在相同的目录上执行 nix-shell, 等一段时间的编译,我们的交叉编译环境就搞定了的。
nix 使得我们在不同的机器上构建出相同的交叉编译环境,
不同的系统只需要将 x86_64-pc-linux-gnu 换成相应的system 就可以了。
关于platforms 参考 https://github.com/NixOS/nixpkgs/tree/master/lib/systems
