最近arm下的应用程序开发进行的比较多。而我一贯的做法就是在windows下使用vs进行开发,使用跨平台开发规范,该加宏的地方加宏,该用跨 平台库的时候用跨平台库,然后尽可能做到在windows下就调试完软件的功能(有些东西,像调用一些驱动,就没办法调了)。目前这样的开发方式基本满足 开发需求,但偶尔也会碰到一些特别的问题,需要在板子上调试才能方便的判断问题根源,而使用打印调试信息的方式显然在某些时候比较麻烦,因此想直接挂调试 器来调试。但由于开发工具的限制(开发工具环境都是别人搞的),并没有直接可用的gdb,所以没办法,只能自己编译了。 好了,下面进入正题,来说说编译过程。 1.分别下载最新的gdb和termcap,我目前下的是gdb 7.4.1 http://www.gnu.org/software/gdb/download/ 这里要说说我的尝试经历。我一开始并没有下载termcap,而是下的ncurses,主要是看到往上教程这么写,然后我就编译了它,紧接着编译gdb,结果发现最终链接的时候会失败,提示找不到tputs等函数,貌似是编译出来的库不全?搞不清楚是怎么回事。然后查了下函数出处,就下载了termcap来编译。 2.编译termcap 下的时候一看,发现这个库有够老的,2002年地,除了兼容一些老程序外,估计已经没人用了。 ./configure --host=arm-linux --prefix="$PWD/../gdb" 配置完后,看了下makefile文件,发现host设置并未生效,不知道咋回事,所以手动改了下编译器,把gcc改成了arm-linux-gcc make make install 安装成功,这时上层目录下的gdb下应该产生了lib目录以及其它目录,里面有一个关键的库libtermcap.a 3.编译gdb ./configure --host=arm-linux --prefix="$PWD/../gdb" --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext LDFLAGS="-L$PWD/../gdb/lib" CPPFLAGS="-I$PWD/../gdb/include" LD="-ltermcap" 为了以防万一,加了库依赖 此时再make就成功了
版权声明:本文为博主原创文章,未经博主允许不得转载。
核心技术类目全部主题 Hadoop AWS 移动游戏 Java Android iOS Swift 智能硬件 Docker OpenStack VPN Spark ERP IE10 Eclipse CRM JavaScript 数据库 Ubuntu NFC WAP jQuery BI HTML5 Spring Apache .NET API HTML SDK IIS Fedora XML LBS Unity Splashtop UML components Windows Mobile Rails QEMU KDE Cassandra CloudStack FTC coremail OPhone CouchBase 云计算 iOS6 Rackspace Web App SpringSide Maemo Compuware 大数据 aptech Perl Tornado Ruby Hibernate ThinkPHP HBase Pure Solr Angular Cloud Foundry Redis Scala Django Bootstrap
|
暂无评论