很多站长朋友们都不太清楚mk_dirphp,今天小编就来给大家整理mk_dirphp,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 CentOS系统里如何提高文本搜索效率? 2、 文件用什么软件打开 3、 android中怎么调用第三方的so动态库啊~在线等... 4、 我下载火狐浏览器的源代码 怎么把他变回可以执行的程序呢 5、 在android4.0.几的版本上会出现这个问题,在线求解答 6、 "是什么意思' title='php中的"->"是什么意思'>php中的"->"是什么意思 CentOS系统里如何提高文本搜索效率?CentOS系统里如何提高文本搜索效率?
对于系统管理员或程序员来说,当需要在复杂配置的目录中或者在大型源码树中搜寻特定的文本或模式时,grep类型的工具大概是最受欢迎的。
如果grep是你最喜欢的工具之一,那么你可能会更喜欢ack。ack是一个基于Perl的类似于grep的命令行工具,但是搜索速度更快,能力比grep更强。尤其是当你是程序员时,我强烈推荐你使用ack来取代grep。
ack的用法非常适用与代码搜索,因此程序员可以在源码树中进行复杂的查询,而只需要更少的按键。
ack的特性
ack的一些非常强大的特性:
默认搜索当前工作目录
默认递归搜索子目录
忽略元数据目录,比如.svn,.git,CSV等目录
忽略二进制文件(比如pdf,image,coredumps)和备份文件(比如foo~,*.swp)
在搜索结果中打印行号,有助于找到目标代码
能搜索特定文件类型(比如Perl,C++,Makefile),该文件类型可以有多种文件后缀
高亮搜索结果
支持Perl的高级正则表达式,比grep所使用GNU正则表达式更有表现力。
相比于搜索速度,ack总体上比grep更快。ack的速度只要表现在它的内置的文件类型过滤器。在搜索过程中,ack维持着认可的文件类型的列表,同时跳过未知或不必要的文件类型。它同样避免检查多余的元数据目录。
在Linux上安装ack
尽管在大多数Linux发行版中是ack是标准包,可轻易获得(比如在基于debian的系统中,是ack-grep包,而在基于Redhat的系统中则是ack包),但是与发行版捆绑的ack版本仍然是1.x,而ack2.0已经发布,而且拥有更多特性。
因此我准备在官方网站下载,然后安装ack。
方便的是,ack在官网可可作为一个单独的Perl脚本获得,其中整合了所有需要依赖的模块。因此,你不需要额外安装Perl模块来运行这脚本。
为了在你的Linux系统中安装ack,去官网下载最新版本的ack。在写本文时,最新的版本是2.12
$ wget $ sudo mv ack-2.12-single-file /usr/local/bin/ack $ sudo chmod 0755 /usr/local/bin/ack
需要注意的是,在基于Debian的系统中,有一个独立的包也叫ack(汉码转换器)。所以如果你碰巧有使用那个包,那么你就必须重命名ack来避免命名冲突了。
ack的使用案例
1.在当前目录递归搜索单词”eat”,不匹配类似于”feature”或”eating”的字符串:
$ ack -w eat
2.搜索有特殊字符的字符串’$path=.’,所有的元字符(比如’$',’.')需要在字面上被匹配:
$ ack -Q '$path=.' /etc
3.除了dowloads目录,在所有目录搜索”about”单词:
$ ack about --ignore-dir=downloads
4.只搜索包含’protected’单词的PHP文件,然后通过文件名把搜索结果整合在一起,打印每个文件对应的搜索结果:
$ ack --php --group protected
5.获取包含’CFLAG’关键字的Makefile的文件名。文件名为*.mk,makefile,Makefile,GNUmakefile的都在考虑范围内:
$ ack --make -l CFLAG
6.显示整个日志文件时高亮匹配到的字符串:
$ tail -f /var/log/syslog | ack --passthru 192.168.1.10
7.要换取ack支持的文件过滤类型,运行:
$ ack --help-type
文件用什么软件打开查看TIF文件图片可以用系统自带的windows图片、画图工具、Photoshop软件。
查看方法:
1、找到需要打开的TIF文件图片,点击鼠标右键,在弹出的选项中选择“打开方式”。
2、在“打开方式”中选择“Photoshop程序”。
3、即可在Photoshop中将该图片打开。
4、再返回图片位置,在“打开方式”中选择“Windows照片查看器”。
5、即可在“Windows照片查看器”中将该图片打开。
6、返回“打开方式”,选择“画图”工具。
7、即可在画图工具中将该图片打开。
android中怎么调用第三方的so动态库啊~在线等...在目录下自建一个libs文件夹,里面再建armeabi文件夹,把.so后缀的文件拷贝进去,在目录里面添加路径就行了
我下载火狐浏览器的源代码 怎么把他变回可以执行的程序呢源代码编译安装Firefox(linux下)
Windows下如何编译Mozilla源代码
如何在window环境下编译mozilla/firefox
zz from lotusroots.bokee.com
mozilla/firefox这个浏览器(现在的最高版本是firefox 2.0 rc3,稳定版本是firefox1.5.0.7)已经很有名气了,这次,我因为需要使用里面的某些部分,不得不从源代码开始编译它。当然了,自己不太可能使用linux来编译,所以我使用的环境是win2003系统。
1,首先到网上找信息,发现编译它并不是那么容易的事情,许多人都出现了许多问题。值得一看得有如下几个网页:官方关于编译的页面:;使用vs2005编译mozilla(firefox)的页面:;更清楚的讲解vs2005编译的页面:;
2,准备编译工具。要准备的工具实在是很多哦,包括:vs2005、cygwin、nsis、moztools共4项。第一项好说,去任何一个站点下载免费版的vs2005,第二项的下载地址为:,第三项需要到如下地址去下载:,第四项的下载地址为:。
3,安装编译工具。vs2005的安装(主要安装的是vc++)没有什么可说的,唯一的一点就是:为了以后配置的方便,推荐使用默认目录安装。nsis的安装也容易,注意使用full安装选项,不要漏掉什么东西了。moztools只是一个压缩包,解压缩后放到一个目录就行了。cygwin的安装是一个比较麻烦的事情,因为你下载的只是一个客户端,你需要运行它,然后在线升级(安装)你需要的功能,一定要选择一个快速的服务器(如果你的网络很慢的话,我建议你就不要编译mozilla了)。安装的时候,你需要选择如下几个包:
* ash
* diffutils
* fileutils
* findutils
* gawk
* grep
* sed
* sh-utils
* textutils
这几个都是默认安装的。你还需要额外的安装如下几个包:
* coreutils
* cvs
* cygutils
* libiconv
* make
* patch
* patchutils
* perl
* unzip
* zip
版本随便都可以。当然了,这个只是奢望,目前的mozilla的源代码仅仅支持3.80版本的make程序,而现在从cygwin里面是无法安装上make 3.80版本的,因为最低都是3.81版本。所以,你还需要到下面去下载一个make 3.80版本回来:,然后把那个里面的bin\make.exe拷贝到cygwin目录下的bin\make.exe位置,覆盖原来的那个make.exe即可。
4,配置。总共有2个部分需要配置,一个是各种工具的路径,一个是编译必需的mozconfig文件。为了开始配置,我们需要设定一个目录,用来保存 mozilla的源文件。推荐的方式是这样的:a) 建立目录:c:\proj;b) 建立目录:c:\proj\mozilla;c)把moztools工具保存到c:\proj\moztools下;d) 把cygwin安装到c:\proj\cygwin目录下。当然,这不是必需的。于是,第一部分配置可以使用如下的一个配置文件实现:
@echo off
rem --- CVS Setup
SET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
SET CVS_RSH=ssh
rem --- paths of moztools
set MOZ_TOOLS=c:\proj\moztools
set GLIB_PREFIX=%MOZ_TOOLS%
set LIBIDL_PREFIX=%MOZ_TOOLS%
rem --- path of window
SET INCLUDE=
SET LIB=
SET PATH=c:\;c:\windows\system32;c:\windows\system32\wbem
rem --- path of cygwin
SET PATH=c:\proj\cygwin\bin;%PATH%
rem --- path of vc8(vs 2005)
CALL "c:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86
rem --- path of moztools/glib and /libidl
SET PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%\bin
SET INCLUDE=%GLIB_PREFIX%\include;%INCLUDE%
SET LIB=%GLIB_PREFIX%\lib;%LIB%
rem --- moztools comes last after glib/libIDL
SET PATH=%PATH%;%MOZ_TOOLS%\bin
rem --- path of NSIS
SET NSIS=c:\NSIS
SET PATH=%PATH%;%NSIS%
把这些文本保存为一个bat文件,比如:buildsetup.bat,推荐保存到c:\proj目录下。
第二部分的处理有点特点,现在我们需要建立一个如下内容的名字叫做:“.mozconfig”的文件,不要试图直接建立这个文件,因为window会告诉你说必须键入文件名!你使用记事本,输入如下内容,然后保存为“.mozconfig”即可:
# Building Firefox Trunk with Debugging
. $topsrcdir/browser/config/mozconfig
# Put all obj files in one place, not in src tree
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-objdir
ac_add_options --disable-static
ac_add_options --enable-shared
# Debug Build Setup Options
ac_add_options --disable-optimize
ac_add_options --enable-debug
# I'm using Canvas for my work
ac_add_options --enable-canvas
# I disabled the installer
ac_add_options --disable-installer
这个文件必须保存到刚才建好的c:\proj\mozilla目录下。
5,开始下载源文件。你可以不下载源文件,你可以到去下载最新的代码,然后保存到mozilla,再进行第6步操作。但是,需要提醒你的是:我下载了4份源代码(seamonkey,mozilla,firefox),却没有一个能够编译的,不是说少了文件就是说哪个代码编译错误。反正我建议你是用下面的这种直接通过cvs到mozilla上下载源代码的办法(因为它没有压缩,所以,这些代码的大小在240M左右,压缩后的代码一般在30M左右)。
a)首先进入c:\proj目录,并执行buildsetup.bat,下面是屏幕的操作过程:
C:\Documents and Settings\Administrator>C:
C:\>cd proj
C:\proj>buildsetup.bat
Setting environment for using Microsoft Visual Studio 2005 x86 tools.
C:\proj>
b)然后下载cvs的配置文件,下面是屏幕显示:
C:\proj>cvs login
Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
CVS password:
C:\proj>cvs co mozilla/browser/config mozilla/client.mk
cvs checkout: Updating mozilla/browser/config
C:\proj>
这里,注意输入的password为:anonymous。
c)接着进入mozilla目录,然后就开始了漫长的源文件下载了,一个字:等待:
C:\proj\mozilla>make -f client.mk checkout
6,一切准备妥当了,现在该开始编译程序了:
c:\proj\mozilla>make -f client.mk build
其他说明:
1,下载的源文件大概有240M,所以,下载是一个漫长的过程,我用了30多分钟;
2, 编译是一个更加漫长的过程,我使用了3个小时才搞定,我的配置是:1.8G + 512M;
3,因为我们在“.mozconfig”文件里面使用了debug模式,编译出来的是一个debug模式下的名字叫做firefox.exe 的文件,如果你是用它进行网络连接的话,你会发现常常跳出错误窗口,这个是用来测试的(你需要每次点忽略才能继续执行)。会十分的麻烦的,所以,你可以把 “ac_add_options --enable-debug”这一行去掉,免得麻烦。换上:“ac_add_options --disable-debug”,记住,这样处理后能够加快编译的速度!加快速度的另外一个办法是加上:“ac_add_options --disable-tests”,这样就不会生成许多测试程序了。推荐的,编译firefox时,最好的“.mozconfig”是这样的:
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt-static
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --disable-static
ac_add_options --enable-shared
ac_add_options --disable-tests
mk_add_options MOZ_CO_PROJECT=browser
4, 编译好了的文件在c:\proj\mozilla\firefox-objdir\dist\bin 目录下(如果你使用的是非debug的模式,那么,文件在目录c:\proj\mozilla\ff-opt-static\dist\bin下),名字叫:firefox.exe,可是,当你执行它了之后,你到帮助下面查看它的版本,会发现它叫:MineField 3.0a1(以前不是着名字)的。赫赫。
5, 如果你想编译成一个安装的版本,你可以删除:“ac_add_options --disable-installer”。其他更多的编译选项可以参考:http: //developer.mozilla.org/en/docs/Configuring_Build_Options。
如果大家有什么问题可以随时发送上来。
在android4.0.几的版本上会出现这个问题,在线求解答在Ubuntu12.04(64位)编译Android4.0源码时,遇到各种各样的问题。不是缺这个,就是少那个。现把这些问题和解决方法罗列出来(最新统计)。
错误(1):
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
解决:
sudo apt-get install libc6-dev-i386
错误(2):
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] error 1
解决:
sudo apt-get install g++-4.4-multilib
错误(3):
external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1
解决:
sudo apt-get install zlib1g-dev
错误(4):
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
解决:
sudo apt-get install lib32z1-dev
错误(5):
bison -d -o out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
/bin/bash: bison: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 127
解决:
sudo apt-get install bison
错误(6):
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
/bin/bash: flex: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127
解决:
sudo apt-get install flex
错误(7):
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1
解决:
sudo apt-get install lib32ncurses5-dev
错误(8):
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/main-common.o] Error 1
解决:
sudo apt-get install libx11-dev
错误(9):
sh: gperf: not found
calling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] Error 25
make: *** Deleting file `out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h'
解决:
sudo apt-get install gperf
错误(10):
build/core/java.mk:9: *** bin: Target java module does not define any source or resource files. Stop.
解决:
删除源码根目录下的bin文件夹,这个文件夹是导入eclipse时创建的。
错误(11):
/usr/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libOpenglRender.so] 错误 1
解决/usr/bin/ld: Cannot Find -lxxx错误
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
解决办法是(方法一):
[root@9-104 php-5.2.8]# updatedb
[root@9-104 php-5.2.8]# locate libltdl //提示/usr/bin/ld: cannot find -lxxx ,查找时候前面加lib:libxxx 住一 第一个l去掉
/usr/lib64/libltdl.so.3
/usr/lib64/libltdl.so.3.1.4
/usr/share/libtool/libltdl
/usr/share/libtool/libltdl/COPYING.LIB
/usr/share/libtool/libltdl/Makefile.am
/usr/share/libtool/libltdl/Makefile.in
/usr/share/libtool/libltdl/README
/usr/share/libtool/libltdl/acinclude.m4
/usr/share/libtool/libltdl/aclocal.m4
/usr/share/libtool/libltdl/config-h.in
/usr/share/libtool/libltdl/config.guess
...
注意拉:
[root@9-104 php-5.2.8]# ln -s /usr/lib64/libltdl.so.3 /usr/lib64/libltdl.so
原理:给查找到的libxxx文件做软链接
ln -s /usr/lib64/libxxx.so.X(X代表数字) /usr/lib64/lxxx.so
解决办法是(方法二):
apt-get install libxx-dev(如:apt-get install libltdl-dev)
/usr/bin/ld: cannot find -lXt 这种情况一般就是库找不到,有可能你没安装,有可能你安装了但是路径不对。你可以先用 #locate libxt查看下,时候跟这有光的库,没有就安装。
以上两种办法若再出现如下错误:
<built-in>:0:0: note: this is the location of the previous definition
host StaticLib: libOpenglCodecCommon (out/host/linux-x86/obj/STATIC_LIBRARIES/li
bOpenglCodecCommon_intermediates/libOpenglCodecCommon.a)
host SharedLib: libOpenglRender (out/host/linux-x86/obj/lib/libOpenglRender.so)
/usr/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libOpenglRender.so] Error 1
解决方法(办法三亲测一定可行):$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
错误(12):
development/tools/emulator/opengl/host/libs/Translator/GLcommon/GLDispatch.cpp:22: fatal error: GL/glx.h: No such file or directory compilation terminated.
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon_intermediates/GLDispatch.o] Error 1
解决方法:sudo apt-get install libgl1-mesa-dev
错误(13):
host SharedLib: lib64EGL_translator (out/host/linux-x86/obj/lib/lib64EGL_translator.so)
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/lib64EGL_translator.so] Error 1
make: *** Waiting for unfinished jobs....
解决方法 :
sudo apt-get install libglu1-mesa-dev
错误(14):
host StaticLib: libGLcommon (out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon
_intermediates/libGLcommon.a)
host SharedLib: libGLES_CM_translator (out/host/linux-x86/obj/lib/libGLES_CM_tra
nslator.so)
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libGLES_CM_translator.so] Error 1
由于libGL.so系统默认没有进行库路径下的链接,还需要手动链接一下
解决方法: sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
解决方法: sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so
在网上搜到上面的解决方法,可是按照上述方法做了,问题依旧。经过多方实验,才发现问题所在。通过apt-get install的库不是libGL.so.1.2了。而是libGL.so.1.2.0.
错误(15):
make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1
后来发现了,原来是Ubuntu11.10里的gcc和g++版本太高了,于是执行下面的操作:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
sudo rm -rf /usr/bin/gcc /usr/bin/g++
sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++
把默认的4.6版本换为了4.4,继续编译源码,又出现了另一个错误,大致提示为:
g++ selected multilib '32' not installed
继续奋战吧,安装相应的工具吧:sudo apt-get install g++-4.4-multilib,现在正在make -j8(开启多线程编译(不推荐),可能有时候会出现问题,最好是直接make)
2.解决各种依赖问题
首先安装一些库
?View Code BASH
1 sudo apt-get install gnupg flex bison gperf libsdl1.2-dev libesd0-dev
2 sudo apt-get install libwxgtk2.6-dev squashfs-tools build-essential
3 sudo apt-get install zlib1g-dev pngcrush schedtool ia32-libs libncurses5-dev
这些库可能不全,如果出现问题,再google一下吧
2.error: “_FORTIFY_SOURCE” redefined [-Werror]
这个问题,据说与gcc版本有关,4.4版不会出现。
后来在google code 上找到了使用gcc 4.6编译的方法
修改build/core/combo/HOST_linux-x86.mk 文件 line 61
?View Code BASH
1 -HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
2 +HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
这是CyanogenMod打上的补丁
3.No rule to make target ‘out/target/product/generic/obj/lib/libcamera.so’
修改 /home/Android-2.3.4/frameworks/base/services/camera/libcameraservice/Android.mk,USE_CAMERA_STUB:=false ->ture
?View Code BASH
1 LOCAL_PATH:= $(call my-dir)
2
3 # Set USE_CAMERA_STUB if you don't want to use the hardware camera.
4
5 # force these builds to use camera stub only
6 ifneq ($(filter sooner generic sim,$(TARGET_DEVICE)),)
7 USE_CAMERA_STUB:=true
8 endif
9
10 #########CHANGE THIS LINE############
11 USE_CAMERA_STUB:=true
12
13 ifeq ($(USE_CAMERA_STUB),)
14 USE_CAMERA_STUB:=false
15 endif
"是什么意思'>php中的"->"是什么意思->在php里是调用对象方法的作用!!
相当于其他java语言中的“.”符号!
$f_upload是一个对象的实例化
mk_dir()是这个对象的一个方法!
举个例子
<?php
class test{
public $test="test";
public function get_test(){
return $this->test;
}
}
$a = new test();
echo $a->get_test();//该语句输出test
?>
关于mk_dirphp的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于mk_dirphp mkdirphp的详细内容...