如何在linux下编译ffmpegMudos-feels-ChinaUnix博客

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 17, 距离下一级还需 183 积分
论坛徽章:0
linux系统下编译的驱动模块(.ko)如何在arm上运行,要配置那些东西?
(3.08 KB, 下载次数: 21)
13:23 上传
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
白手起家, 积分 197, 距离下一级还需 3 积分
论坛徽章:0
你用交叉编译工具编译出来的ko 才能可以在目标板上运行
另外注意你的编译的内核和你目标板上的内核要一致
白手起家, 积分 17, 距离下一级还需 183 积分
论坛徽章:0
obj-m:= hello.o& & & &
KDIR:= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
& & & & make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
.PHONY: clean
& & & & rm -f *.o *mod.c
按你说的 这样写 编译不通过 请问怎么回事
白手起家, 积分 17, 距离下一级还需 183 积分
论坛徽章:0
obj-m:= hello.o& && &&&
KDIR:= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
& && &&&make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
.PHONY: clean
& && &&&rm -f *.o *mod.c
按你说的 这样写 编译不通过 请问怎么回事
白手起家, 积分 197, 距离下一级还需 3 积分
论坛徽章:0
这是我在网上找的一个makefile
obj-m :=hello.o
KRNELDIR :=/opt/FriendlyARM/mini6410/linux/linux-2.6.36
CROSS_COMPILE =arm-linux-
CC :=$(CROSS_COMPILE)gcc
LD :=$(CROSS_COMPILE)ld
PWD :=$(shell pwd)
& & & & make -C $(KRNELDIR) M=$(PWD) modules&&
.PHONY :clean
& & & & rm -rf *.o *ko
你把红色部分改成你目标板运行内核的目录
(一定要保证你编译过该内核)
白手起家, 积分 17, 距离下一级还需 183 积分
论坛徽章:0
& & 还是不能,我是在宿主机pc的虚拟机里面redhat里面编译的,没有这个目录,编译不通过。。有没有别的办法?
白手起家, 积分 197, 距离下一级还需 3 积分
论坛徽章:0
你目标板的运行的内核是从哪里来的?不是你自己编译出来的吗?
白手起家, 积分 17, 距离下一级还需 183 积分
论坛徽章:0
& & 不是,是买的时候光盘里面附带的,现在不让其在arm上运行,现在在pc上编译都不能通过。
白手起家, 积分 197, 距离下一级还需 3 积分
论坛徽章:0
你的标题是“linux系统下编译的驱动模块(.ko)如何在arm上运行”
8l 又说 “现在不让其在arm上运行”
你到底是想在arm 运行,还是在pc上运行?
不管你在哪运行
KRNELDIR :=/opt/FriendlyARM/mini6410/linux/linux-2.6.36
都要把上面设置成目前机器运行内核的目录(并且已经编译)
比如要在arm 中运行,按照我上面说的试试
白手起家, 积分 10, 距离下一级还需 190 积分
论坛徽章:0
& & +++++1
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处博客访问: 201062
博文数量: 50
博客积分: 834
博客等级: 军士长
技术积分: 683
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
1.Linux下多文件的工程项目编译方法(Makefile)
main:message.o&sqlite.o&main.o&order_transact.o&ioctrol.o
arm-linux-gcc&message.o&sqlite.o&main.o&order_transact.o&ioctrol.o&-lsqlite3&-L&/usr/local/arm/sqlite_arm/&-lpthread&-o&main
通过对各个.o文件的加载编译生成可执行的main文件(通过./main来执行它)
main.o:main.c&lebaishi.h&order_transact.h&ioctrol.h
arm-linux-gcc&-c&main.c&-o&main.o&-lpthread
加载main.c和它调用的.h文件编译成对应的.o文件,-lpthread是线程的编译方式
message.o:message.c&lebaishi.h
arm-linux-gcc&-c&message.c&&-o&message.o&
-c&代表要编译c文件,message.c&是需要编译的文件,-o&是要编译成的文件格式,message.o&是编译生成的文件名和格式
sqlite.o:sqlite.c&lebaishi.h
arm-linux-gcc&-c&sqlite.c&-I&/usr/local/arm/sqlite_arm/&&-L&/usr/local/arm/sqlite_arm/&-o&sqlite.o
-I&代表&&&&,-L代表&&&&
ioctrol.o:ioctrol.c&lebaishi.h
arm-linux-gcc&-c&ioctrol.c&-o&ioctrol.o
编译生成的.o文件,通过最上面的操作,将所有相关的.o文件放到一起编译成main可执行文件
order_transact.o:&order_transact.c&lebaishi.h&message.h&sqlite.h&ioctrol.h
arm-linux-gcc&-c&order_transact.c&-o&order_transact.o
rm&-r&-f&*~
rm&-r&-f&*.o
删除编译生成的只读的.o和~文件(注:只是猜想,还需查证-r和-f各自的功能
阅读(3686) | 评论(0) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。博客访问: 283573
博文数量: 78
博客积分: 1047
博客等级: 少尉
技术积分: 898
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
原文地址: 作者:
&UbuntuGCCm4,gmp mpfr,mpc·····shitGCC&Ubuntu11.04GCC GCCcheckLinuxGCC
& gcc-4.6.0.tar.bz2
tmptar vxjf gcc-4.1.1.tar.bz2
tmpgcc-4.6.0
mkdir& gcc-build
cd&& gcc-build
../gcc-4.6.0/configure
--prefix=/usr/local/gcc-4.6.0 --enable-threads=posix --disable-checking
--disable-multilib --enable-languages=c,c++
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
gccGMPMPFRMPCMPFRGMPMPCGMPMPFRGMPMPFRMPCgmp5.0.1mpfr2.4.2mpc0.8.1
GMPGMPgmp-5.0.1gmp-buildgmp-build
../gmp-5.0.1/configure --prefix=/usr/local/gmp-5.0.1
--prefix/usr/local/gmp-5.0.1m4: gmp configure: error: No usable m4 in $PATH or /usr/5binm4
sudo aptitude install build-essential m4
configuremakemake install” --help”
configuremakemake installerrorbaidugooglegoogleLinuxerrorUbuntu&
-----------
(gmpm4mpfrgmpmpcgmpmpfrm4gmpmpfrmpc)
m4m4gmpm4: gmp configure: error: No usable m4 in $PATH or /usr/5binm4
& &&tar& –zxvf& m4.tar.gz &&&&&m4&&&&&&&
&&& ./configure CC=”cc”
&&& make install
&&& /usr/local/binm4
gmprootsugmpmpfrmpc/usr/local/gmp432/usr/local/mpfr242/usr/local/mpc082/usr/local/
&&& mkdir& gmp432& mkdir
&&& mkdir& mpfr242&
&&& mkdir& mpc081
gmp-4.3.2.tar.gzgmp,
&&& tar& –vxzf& gmp-4.3.2.tar.bz2 &&&gmp-4.3.2
&&& cd &gmp-4.3.2& &&(INSTALL)
&&& ./configure& --prefix=/usr/local/gmp432
&&& make& check
&&& make& install
&&& /usr/local/gmp432
&&& tar& –vxzf& mpfr-2.4.2.tar.bz2 &&&mpfr-2.4.2
&&& cd& mpfr-2.4.2
&&& ./configure --prefix=/usr/local/gmp432 --with-gmp=/usr/local/gmp432
&&& make& check
&&& make& install
mpc()INSTALL
&&& tar& –zxvf& mpc-0.8.1.tar.gz &&&mpc-0.8.2
&& &cd& mpc-0.8.1
& &./configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242
&&& make check
make install
gccgccgcc-build
&mkdir& gcc-build
cd&& gcc-build
../gcc-4.6.0/configure
--prefix=/usr/local/gcc-4.6.0 --enable-threads=posix --disable-checking
--disable-multilib --enable-languages=c,c++
gccgcccc++makeerror while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-2.4.2/lib
2make installgccgccgccg++/usr/bin
sudo ln -s /usr/local/gcc-4.5.0/bin/gcc gcc45
sudo ln -s /usr/local/gcc-4.5.0/bin/g++ g++45
gccgcc45g++45gcc/usr/bingccg++gccLD_LIBRARY_PATH/etcbash.bashrcshell
LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.5.0/lib
export LD_LIBRARY_PATH
gccgcccc++make
LD_LIBRARY_PATH/etcbash.bashrcshell
LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.5.0/lib
export LD_LIBRARY_PATH
makeconfiguremake distcleanmakeconfigure
*.tar.gztar& –zxvf& *.tar.gz
*.tar.bz2tar& -jxvf& *.tar.bz2
which gccgcc
&& & & & & &打完,收工·······转自:原创作品,允许转载,转载时请务必以超链接形式标明文章
、作者信息和本声 明。否则将追究法律责任。
阅读(8286) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。博客访问: 171526
博文数量: 104
博客积分: 2510
博客等级: 少校
技术积分: 981
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
在linux下编译ACE的文章网上一搜一大堆,基本都差不多,使用ACE自带的ACE_install.sh脚本,这种方法比较麻烦,要建什么ACE_ROOT环境变量,改安装脚本等。如果只是生成动态的so文件还好,要生成静态的.a文件用ACE-install.sh就显得很不自由了(我没试好)。有人说要在platform_macros.GNU文件里加一行static_libs=1,但是刚解压出的ACE_wrappers/include/makeinclude下没这个文件,这个文件是执行安装脚本时生成的链接文件,链向的对象是该目录下的platform-linux.h,如果是在linux下安装的话。这样就没有机会加上那一行了。仔细读读安装脚本,发现做的工作其实很简单,不用它也相当简单。
首先将ACE*.tar.gz解压到要安装的目录下,比如/usr/ACE,这样会在这个目录下生成一个ACE_wrappers目录。进入此目录。
接下来有三件事要做。一是到ace下执行ln -s config-linux.h config.h,二是到include/makeinclude下执行ln -s platform-linux.GNU platform-macros.GNU,三是修改platform-linux.GNU,在任意地方添加一行static_libs=1.
一切准备妥当了,然后在ACE_wrappers目录下执行gmake就行了,接下来就是喝茶等结果了,我用的机器超线程的,比较快,只用了几分钟,然后就在lib目录下看见了一堆.a了,呵呵。
上面步骤比使用自带的安装脚本简便多了。如果只想生成动态的.so文件则只要做上面的前两件事就行了。
阅读(1503) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 linux下c 编译器 的文章

 

随机推荐