木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺

随笔分类 -  编译

1
摘要:问题:环境:ubuntu 12.04,g++版本4.6.3,编译目标文件时出现warnings:u1204@u1204-zhw:~/hwsvn/2sw/4prj_mips/UCP_rt5350/src/trunk$ make clean;make rm -f *.o local_ctrl g++ -g3 -Wall -o0 -c msgrcv_cmd.cpp -o msgrcv_cmd.o In file included from msgrcv_cmd.h:24:0, from msgrcv_cmd.cpp:30: controller.h: In cons... 阅读全文
posted @ 2013-07-20 17:25 C语言程序 阅读(911) 评论(0) 推荐(0) 编辑
摘要:问题:将一个c文件改为cpp文件,其中的perror()改用C++中的std::cerr ,而strerror()只需要用到头文件,所以,重新编译时,将替换为。2. errno无疑是一个系统定义的全局变量,不是由用户来声明或定义的。查到中有这样的宏定义#ifndef errno extern int errno; #endif将头文件包含到程序中,重新编译,编译顺利完成。问题解决。 阅读全文
posted @ 2013-06-22 16:41 C语言程序 阅读(5830) 评论(0) 推荐(0) 编辑
摘要:问题:在虚拟机中编译老内核linux-2.6.24,通过sudo apt-get install linux-source-2.6.24后,得到linux-source-2.6.24.tar.bz2。解压到linux-source-2.6.24中,cd linux-source-2.6.24,执行sudo make oldconfig,出现错误提示:error: sys/types.h: No such file or directory解决办法:1. 放狗搜,查到types/types.h应该位于libc6-dev的package中,david@david-804: apt-cache se 阅读全文
posted @ 2013-05-04 15:16 C语言程序 阅读(4673) 评论(0) 推荐(0) 编辑
摘要:问题:使用snprintf()完成字符串的复制操作:#include #include #include #define ARR_SIZE(a) (sizeof((a))/sizeof((a)[0])) #define LEN_BUF 5 int main() { char buf[] = "0123456789"; char buf1[LEN_BUF]; char buf2[LEN_BUF]; // char *buf2 = NULL; // Source buf greater than dest buf1 causes stack overflow // s... 阅读全文
posted @ 2013-03-29 13:59 C语言程序 阅读(1684) 评论(0) 推荐(0) 编辑
摘要:问题:从网上拷贝了一段代码,粘贴到自己写的程序strcat_compare.c中,然后编译gcc -o strcat_compare strcat_compare.c;出现错误如下:avid@ubuntu:~/wrk/tmp$ gcc -o strcat_compare strcat_compare.c strcat_compare.c: In function ‘main’: strcat_compare.c:28:1: error: stray ‘\343’ in program strcat_compare.c:28:1: error: stray ‘\200’ in program . 阅读全文
posted @ 2013-03-28 16:07 C语言程序 阅读(1822) 评论(0) 推荐(0) 编辑
摘要:1.gcc版本过高,解决方法sudo apt-get install gcc-4.4sudo apt-get install g++-4.4装完后在/usr/bin目录下sudo mv gcc gcc.baksudo ln -s gcc-4.4 gccmv g++-4.4 g++g++ -v2.selected multilib '32' not installed解决方法sudo apt-get install g++-4.4-multilib3.host SharedLib: lib64EGL_translator (out/host/linux-x86/obj/lib/l 阅读全文
posted @ 2013-03-19 10:05 C语言程序 阅读(328) 评论(0) 推荐(0) 编辑
摘要:问题:程序模型用C++语言编写,在程序模型和调用函数之间添加了一个接口文件modelc.cpp,用来让用c语言程序调用程序模型中的函数;新添加了两个函数setPduPowerConsumptionCnt()和setPduPowerConsumptionTot(),用来清除PDU模型中的总功耗和功耗计数器;编译时出现错误提示:dingq@wd-u1110:~/hwsvn/2sw/1prj_linux/pdu/src/branches/pdu-isocket$ make clean;make rm -f *.o pdu arm-linux-g++ -g3 -Wall -o0 -I../../../ 阅读全文
posted @ 2012-10-30 13:30 C语言程序 阅读(252) 评论(0) 推荐(0) 编辑
摘要:问题:在打印hostent的IP地址时,用到了inet_ntop(),在编译时显示这样的警告提示:dingq@wd-u1110:~/hwsvn/2sw/1prj_linux/pdu/src/branches/pdu-isocket/isocket$ make clean;make rm -rf *.o tcpclient tcpserver gcc -g3 -Wall -o0 -std=gnu99 -c nettrans.c -o nettrans.o nettrans.c: In function ‘nettrans’: nettrans.c:59:5: warning: implicit 阅读全文
posted @ 2012-09-05 16:04 C语言程序 阅读(2651) 评论(1) 推荐(0) 编辑
摘要:问题:原来使用的ubuntu 11.10系统由于误操作,导致系统崩溃,重新安装了ubuntu 11.10;在编译内核的时候,提示如下错误:dingq@wd-u1110:~/hwsvn/2sw/1prj_linux/pdu/kernel/linux-2.6.30$ make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install 阅读全文
posted @ 2012-08-07 13:18 C语言程序 阅读(422) 评论(0) 推荐(0) 编辑
摘要:问题:在老内核2.6.24.3的目标板上,/dev下能看到ttyS0,ttyS1和ttyS2;没有ttys*文件;但是,内核升级到2.6.30后,在/dev下只能看到ttyS0和ttyS2,有ttys0~ttysf共16个文件;并且,不能通过open命令打开ttyS1设备。解决办法:1. 进入到内核所在目录linux-2.6.30,运行命令:make menuconfig使用/来查找serial字符,看到这么一行,Symbol: SERIAL_ATMEL_CONSOLE [=n] ... 阅读全文
posted @ 2012-08-07 08:10 C语言程序 阅读(448) 评论(0) 推荐(0) 编辑
摘要:问题:frm_package.c中调用了memset()和memcpy()函数,但是没有包含相应的头文件,编译时出现错误:dingq@wd-u1110:~/hwsvn/2sw/1prj_linux/pdu/src/branches/pdu-isocket/isocket$ make gcc -g3 -Wall -o0 -c nettrans.c -o nettrans.o gcc -g3 -Wall -o0 -c tcpclient.c -o tcpclient.o gcc -g3 -Wall -o0 -c frm_package.c -o frm_package.o frm_package. 阅读全文
posted @ 2012-08-02 15:02 C语言程序 阅读(1494) 评论(0) 推荐(0) 编辑
摘要:问题:在研究一个问题时,碰到了新的问题。知道了-L. -lmyhello的正确放置位置。要研究的问题是:除了-static参数之外,使用静态库和使用动态库编译成目标程序使用的gcc命令完全一样,那当动态库和静态库同名时,gcc命令会优先使用哪个库?研究的范围在lib_test目录下有如下的文件:dingq@wd-u1110:~/wrk/tmp/lib_test$ ll total 16 -rw-rw-r-- 1 dingq dingq 518 2012-07-31 10:17 hello.c -rw-rw-r-- 1 dingq dingq 519 2012-07-31 10:22 hello 阅读全文
posted @ 2012-07-31 14:52 C语言程序 阅读(560) 评论(0) 推荐(0) 编辑
摘要:问题:原来有单个文件tcpclient.c,运行gcc -o tcpclient tcpclient.c可以顺利完成编译,并能与下载到目标板中的tcpserver成功通讯;现在把tcpclient.c中的底层通讯部分抽取出来,单独放到一个文件中nettrans.c中,并有netrans.h作为头文件;然后,使用命令gcc -o tcpclient nettrans.c tcpclient.c编译,也总能成功编译。但是,使用Makefile来编译,总是出现如下multiple definition of类的错误:dingq@u1110-120628:~/hwsvn/2sw/1prj_linux/ 阅读全文
posted @ 2012-07-26 18:17 C语言程序 阅读(3422) 评论(0) 推荐(0) 编辑
摘要:问题:编译程序时出现如下编译错误:dingq@u1110-120628:~/hwsvn/2sw/1prj_linux/pdu/src/branches/pdu-isocket/isocket$ gcc -o tcpclient tcpclient.c tcpclient.c: In function ‘main’: tcpclient.c:59:46: error: dereferencing pointer to incomplete type源码是: // set params of sockaddr_in instances serv_addr.sin_family = AF_INE.. 阅读全文
posted @ 2012-07-24 17:17 C语言程序 阅读(1600) 评论(0) 推荐(0) 编辑
摘要:在查阅linux内核源码的过程中,发现存在两种不同类型的条件编译语句:#ifdef MACRO_A和#if defined(MACRO_A)或#if !defined(MACRO_A)#ifdef和#ifdefined()之间的区别实际上,两者并无本质的差别,但后者的应用范围更广,能支持多个预编译变量的检查。#if defined(MACRO_A) && !defined(MACRO_B) #endif 如果用前者的方式来表达,只能使用嵌套的条件判断#ifdef(MACRO_A) #ifndef(MACRO_B) ...; ...; #endif... 阅读全文
posted @ 2012-06-16 19:12 C语言程序 阅读(575) 评论(0) 推荐(0) 编辑
摘要:前提:ubuntu-debug机器上向SVN提交了pdu-IVT,想在别的普通机器上验证直接make能否成功,编译出的用户程序能否运行。工作PC机上装有VMware,里面的ubuntu版本跟ubuntu-debug机器上相同,都是ubuntu 11.10版本。VMware的家目录下有个目录pdu-IVT,是从SVN上更新出来之后,直接拷贝过来的。在将ubuntu-debug机器上,make能成功,并且生成的二进制可执行程序pdu也能运行,并与switch成功建立连接;但在工作PC机的VMware中,运行make时,提示错误:/usr/bin/ld: cannot find -lCiscoEne 阅读全文
posted @ 2012-06-02 12:02 C语言程序 阅读(1396) 评论(0) 推荐(0) 编辑
摘要:用途说明Linux内核为了达到最佳的磁盘操作效率,会把需要写入到磁盘的数据现在内存中缓存起来,在合适的时候才真正写入到磁盘中,这在绝大多数情况都是没有任何问题的,而且提高了系统的效率,但是如果系统当机、掉电,就会有些文件内容不会保存下来。在Linux系统关机或者重启时,会自动把缓冲区的内容自动同步到磁盘中。我们也可以手工去执行sync命令,强制将内存中的文件缓冲内容写到磁盘,这个命令是通过调用sync系统调用来实现的。(flush file system buffers。Synchronize data on disk with memory。Force changed blocks to d 阅读全文
posted @ 2012-05-29 19:01 C语言程序 阅读(1258) 评论(0) 推荐(0) 编辑
摘要:WARNING: Unable to open an initial console这个主要是没有建立控制台,解决方式:内核选择如下选项:Device Drivers ---> Character devices ---> [*] Virtual terminal Serial drivers ---> 8250/16550 and compatible serial support [*] Console on 8250/16550 and compatible serial port (2) Maximum number of 8250/16550 serial port 阅读全文
posted @ 2012-05-29 18:51 C语言程序 阅读(987) 评论(0) 推荐(0) 编辑
摘要:相信很多学习嵌入式linux的人都碰到过这样一个问题:初学linux的时候大家都用的工具链版本多是3.4.5或3.4.2,名字为arm-linux-gcc或arm-softfloat-linux-gnu-gcc,可突然有一天发现这几个版本的编译器无法编译最新的内核了,并且发现人们都换了工具链了(arm-none-linux-gnueabi-gcc),怎么办,换呗。于是也都换成了这个工具链,编译内核,制作跟文件系统,按部就班的做,和以前没什么区别,很多人甚至想这些操作我都做烂了,闭着眼睛都能完成,一切和以前也没什么区别。可是紧接着问题来了,当内核启动到最后阶段挂载文件系统是出现如下错误:kern 阅读全文
posted @ 2012-05-29 09:53 C语言程序 阅读(383) 评论(0) 推荐(0) 编辑
摘要:1. 如果uboot的bootargs设置了,kernel的Boot options中的Default kernel command string设置与否,都不启作用,即bootargs覆盖掉设置的Default kernel command string,打印的信息也是bootargs传过来的command string。2. 如果uboot的bootargs未设置的话,kernel就以Boot options中的Default kernel command string的设置进行启动。总之: 不管是从NAND还是NOR起动,uboot是用来引导linux的,如果uboot的bootargs 阅读全文
posted @ 2012-05-28 11:19 C语言程序 阅读(349) 评论(0) 推荐(0) 编辑

1
木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺
点击右上角即可分享
微信分享提示