导航:首页 > 源码编译 > 编译目录中的源码

编译目录中的源码

发布时间:2022-07-13 08:04:16

1. 求解java多目录源码用javac怎么编译

写到一半学校断网,重新手打、、、=_=
以下是我原来写好的部分:
其实我原来也不会,但是看了楼主的问题,我摸索了一下。
首先我在终端里输入javac,弹出了几个参数选项的解释,其中有一个:
-classpath <路径>
所以我猜它应该是可以添加搜索路径之类的参数。
我写了两个java文件,放在两个路径下,其中有主函数的文件为:
package com.test;

import com2.test2.*;

public class testMult {

public static void main(String args[]) {

Mult m = new Mult();

m.a = "asd";

System.out.println(m.a);

}

}
可见我import了一个com2.test2的包,下面是这个包里的Java文件:
package com2.test2;

public class Mult {

public String a;

}
然后我在终端输入了:
javac -classpath /Users/wulin/Documents/workspace/TestMultiDir/src /Users/wulin/Documents/workspace/TestMultiDir/src/com/test/testMult.java
然后编译成功了。
其中值得注意的是classpath添加的路径是包所在的目录,在这里也就是com2所在的目录 /Users/wulin/Documents/workspace/TestMultiDir/src
我用的系统是mac os,所以楼主如果用的是windows,那么路径分隔的符号可能要注意一下。

2. 如何单独编译安卓系统源码指定模块

android源码目录下的build/envsetup.sh文件,描述编译的命令

- m: Makes from the top of the tree.

- mm: Builds all of the moles in the current directory.

- mmm: Builds all of the moles in the supplied directories.

要想使用这些命令,首先需要在android源码根目录执行. build/envsetup.sh 脚本设置环境

m:编译所有的模块

mm:编译当前目录下的模块,当前目录下要有Android.mk文件

mmm:编译指定路径下的模块,指定路径下要有Android.mk文件

下面举个例子说明,假设我要编译android下的\hardware\libhardware_legacy\power模块,当前目录为源码根目录,方法如下:

1、. build/envsetup.sh

2、mmm hardware/libhardware_legacy/power/

编译完后 运行 make snod

会重新将你改过的模块打入到system.img中

3. 如何编译linux操作系统的源代码

首先uname
-r看一下你当前的linux内核版本
1、linux的源码是在/usr/src这个目录下,此目录有你电脑上各个版本的linux内核源代码,用uname
-r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下。
2、配置内核
make
menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译。
3、编译,依次执行make、make
bzImage、make
moles、make
moles
4、安装,make
install
5、.创建系统启动映像,到
/boot
目录下,执行
mkinitramfs
-o
initrd.img-2.6.36
2.6.36
6、修改启动项,因为你在启动的时候会出现多个内核供你选择,此事要选择你刚编译的那个版本,如果你的电脑没有等待时间,就会进入默认的,默认的那个取决于
/boot/grub/grub.cfg
文件的设置,找到if
[
"${linux_gfx_mode}"
!=
"text"
]这行,他的第一个就是你默认启动的那个内核,如果你刚编译的内核是在下面,就把代表这个内核的几行代码移到第一位如:
menuentry
'Ubuntu,
with
Linux
3.2.0-35-generic'
--class
ubuntu
--class
gnu-linux
--class
gnu
--class
os
{
recordfail
gfxmode
$linux_gfx_mode
insmod
gzio
insmod
part_msdos
insmod
ext2
set
root='(hd0,msdos1)'
search
--no-floppy
--fs-uuid
--set=root
9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic
root=UUID=9961c170-2566-41ac-8155-18f231c1bea5
ro
quiet
splash
$vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
当然你也可以修改
set
default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法,貌似不好用。
重启过后你编译的内核源码就成功地运行了,如果出现问题,比如鼠标不能用,usb不识别等问题就好好查查你的make
menuconfig这一步,改好后就万事ok了。
最后再用uname
-r看看你的linux内核版本。是不是你刚下的那个呢!有没有成就感?

4. 如何编译一个现有的源码[C++, VS2010]

你打开工程,然后对工程右键生成,在工程目录下会生成一个debug或者release文件夹,该文件夹下面就有exe可执行文件

5. 自己可以编译安卓源码吗

用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:

sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”

其中[email protected]为你自己的邮箱.

简要说明

android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.

源码下载

由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)

repo工具下载及安装

通过执行以下命令实现repo工具的下载和安装

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:

我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:


这里写图片描述

执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.

错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.

    结束吧

    到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    6. 如何编译linux源代码

    首先uname -r看一下你当前的linux内核版本

    1、linux的源码是在/usr/src这个目录下,此目录有你电脑上各个版本的linux内核源代码,用uname -r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下。
    2、配置内核 make menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译。
    3、编译,依次执行make、make bzImage、make moles、make moles
    4、安装,make install
    5、.创建系统启动映像,到 /boot 目录下,执行 mkinitramfs -o initrd.img-2.6.36 2.6.36
    6、修改启动项,因为你在启动的时候会出现多个内核供你选择,此事要选择你刚编译的那个版本,如果你的电脑没有等待时间,就会进入默认的,默认的那个取决于 /boot/grub/grub.cfg 文件的设置,找到if [ "${linux_gfx_mode}" != "text" ]这行,他的第一个就是你默认启动的那个内核,如果你刚编译的内核是在下面,就把代表这个内核的几行代码移到第一位如:
    menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {

    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
    linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
    initrd/boot/initrd.img-3.2.0-35-generic
    }
    当然你也可以修改 set default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法,貌似不好用。

    重启过后你编译的内核源码就成功地运行了,如果出现问题,比如鼠标不能用,usb不识别等问题就好好查查你的make menuconfig这一步,改好后就万事ok了。

    最后再用uname -r看看你的linux内核版本。是不是你刚下的那个呢!有没有成就感?

    7. Linux中源码编译安装程序包括哪些基本步骤

    第一步:创建编译脚本
    进入到源码目录 执行 ./configure --prefix=/.../.....(--prefix=后面是想要安装到的目录)
    第二部:编译
    执行 make
    第三部:安装
    执行 make install
    当然上面这几部都是最基本的步骤,如果想优化编译,要在./configure 后面加参数,或者configure之后手动修改Makefile文件 如O2(优化等级) FLAGS 等编译参数的修改。
    --------------------------------------------------------------------------------------------------------------
    以上都是源码包的编译
    如果是自己写的C代码 直接 用gcc编译即可。
    例如 编译test.c
    执行 gcc -o test test.c即可将test.c编译为可执行的文件 test

    自己打出来的 要采纳啊!

    8. 如何看已经编译好的java程序的源码

    web-inf目录下有class文件夹(得到工作空间去看)

    9. 如何编译和调试android源码中platform/system/core下的代码

    首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:
    USER-NAME@MACHINE-NAME:~/Android$ . ./build/envsetup.sh
    注意,这是一个source命令,执行之后,就会有一些额外的命令可以使用:
    - croot: Changes directory to the top of the tree.
    - m: Makes from the top of the tree.
    - mm: Builds all of the moles in the current directory.
    - mmm: Builds all of the moles in the supplied directories.
    - cgrep: Greps on all local C/C++ files.
    - jgrep: Greps on all local Java files.
    - resgrep: Greps on all local res/*.xml files.
    - godir: Go to the directory containing a file.
    这些命令的具体用法,可以在命令的后面加-help来查看,这里我们只关注mmm命令,也就是可以用它来编译指定目录的所有模块,通常这个目录只包含一个模块。

    10. android如何把apk的工程代码放到源码目录下编译

    啥平台的,是原生的还是高通的还是mtk的?反正都类似,你需要一个Android.mk然后源码需要整体new过。然后编译的时候编译到Android.mk所在目录就可以了。反正我现在接触mtk平台的,new代码方法如下:1、首先到XXXXXX/L23_XXXXXXX_AN5.1_MT6735_65C_L1.MP3.V1.8.9_150503/android_mtk_6753_mp目录下,使用如下命令./TmakeGionee
    BFL7506A
    -p
    packages/apps/XXXXX(XXXXXX就是你apk代码所存放的并且与Android.mk同级的目录)。

    阅读全文

    与编译目录中的源码相关的资料

    热点内容
    喷油螺杆制冷压缩机 浏览:578
    python员工信息登记表 浏览:376
    高中美术pdf 浏览:160
    java实现排列 浏览:512
    javavector的用法 浏览:981
    osi实现加密的三层 浏览:231
    大众宝来原厂中控如何安装app 浏览:913
    linux内核根文件系统 浏览:242
    3d的命令面板不见了 浏览:525
    武汉理工大学服务器ip地址 浏览:148
    亚马逊云服务器登录 浏览:524
    安卓手机如何进行文件处理 浏览:70
    mysql执行系统命令 浏览:929
    php支持curlhttps 浏览:142
    新预算法责任 浏览:443
    服务器如何处理5万人同时在线 浏览:250
    哈夫曼编码数据压缩 浏览:424
    锁定服务器是什么意思 浏览:383
    场景检测算法 浏览:616
    解压手机软件触屏 浏览:348