- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我一直在尝试在 64 位 X86 Ubuntu 上编译 GDB 的副本,以用于远程调试 ARM 设备。这意味着使用 expat 编译 GDB; GDB 在连接到远程调试器时使用 XML 解析。以下是我尝试过的一些方法和结果。
只用 --with-expat 编译
./configure --target=arm-none-eabi --with-expat
make
....
checking whether to use expat... yes
checking for libexpat... (cached) no
configure: error: expat is missing or unusable
Makefile:9125: recipe for target 'configure-gdb' failed
....
使用 --with-libexpat-prefix 编译
ls -alg /usr/local/lib/*expat*
-rw-r--r-- 1 root 999128 Mar 20 23:55 /usr/local/lib/libexpat.a
-rwxr-xr-x 1 root 942 Mar 20 23:55 /usr/local/lib/libexpat.la
lrwxrwxrwx 1 root 17 Mar 20 23:55 /usr/local/lib/libexpat.so -> libexpat.so.1.6.0
lrwxrwxrwx 1 root 17 Mar 20 23:55 /usr/local/lib/libexpat.so.1 -> libexpat.so.1.6.0
-rwxr-xr-x 1 root 534224 Mar 20 23:55 /usr/local/lib/libexpat.so.1.6.0
./configure --target=arm-none-eabi --with-expat --with-libexpat-prefix=/usr/local/lib
make
....
checking whether to use expat... yes
checking for libexpat... (cached) no
configure: error: expat is missing or unusable
Makefile:9125: recipe for target 'configure-gdb' failed
....
我已经尝试以我能想到的所有方式安装 expat。上面的库二进制文件来自本地编译的 expat 和 make install;我也做过:
apt-get install libexpat1-dev
apt-get install expat
两者都已经是最新版本了。结果同上;只有省略 --with-expat 和 --with-libexpat-prefix 才能编译。
欢迎提出建议。我怎样才能找到更多关于失败的信息——我怎样才能弄清楚 make 过程是如何/在哪里找不到/批准外籍人士的?
同路人(但我在这里找不到有效的答案):
http://comments.gmane.org/gmane.comp.gdb.devel/29306
gdb remote cross debugging fails with "Remote 'g' packet reply is too long"
最佳答案
我进行了两项更改,使其适用于我。
首先,我的./configure
命令有点错误。而不是
./configure --target=arm-none-eabi --with-expat --with-libexpat-prefix=/usr/local/lib
应该是
./configure --target=arm-none-eabi --with-expat --with-libexpat-prefix=/usr/local/
因为前缀应该在 include 和 lib 之上。从配置文件:
--with-expat include expat support (auto/yes/no)
--with-libexpat-prefix[=DIR] search for libexpat in DIR/include and DIR/lib
但我不确定这是否是真正的解决方案。在我不小心从 gdb 根目录中的 gdb
目录开始编译之前,我仍然遇到相同的编译错误。让我完全明确:
root@scallion:~/gdb-arm-build/gdb-7.11# ls -alg
total 5016
drwxr-xr-x 16 root 4096 Mar 21 23:48 .
drwxr-xr-x 3 root 4096 Mar 20 16:54 ..
drwxr-xr-x 7 root 20480 Mar 21 23:48 bfd
-rw-rw-rw- 1 200 492650 Feb 24 01:55 ChangeLog
-rwxrwxrwx 1 200 7333 Feb 19 2015 compile
drwxr-xr-x 2 root 4096 Mar 20 16:54 config
-rwxrwxrwx 1 200 43614 Feb 9 19:19 config.guess
-rw-rw-rw- 1 200 25713 Feb 9 19:19 config-ml.in
-rwxrwxrwx 1 200 14916 Jun 11 2014 config.rpath
-rwxr-xr-x 1 root 31637 Mar 21 23:48 config.status
-rwxrwxrwx 1 200 36139 Feb 9 19:19 config.sub
-rwxrwxrwx 1 200 486119 Feb 24 01:55 configure
-rw-rw-rw- 1 200 113771 Feb 24 01:59 configure.ac
-rw-rw-rw- 1 200 18002 Jun 11 2014 COPYING
-rw-rw-rw- 1 200 35147 Jun 11 2014 COPYING3
-rw-rw-rw- 1 200 7639 Jun 11 2014 COPYING3.LIB
-rw-rw-rw- 1 200 25291 Jun 11 2014 COPYING.LIB
drwxr-xr-x 2 root 4096 Mar 20 16:54 cpu
-rwxrwxrwx 1 200 22464 Feb 19 2015 depcomp
-rw-r--r-- 1 200 1887 Feb 24 01:59 djunpack.bat
drwxr-xr-x 2 root 4096 Mar 21 23:49 etc
drwxr-xr-x 27 root 36864 Mar 21 23:51 gdb **<<<<<<<< Here**
drwxr-xr-x 12 root 4096 Mar 20 16:54 include
-rwxrwxrwx 1 200 14675 Feb 19 2015 install-sh
drwxr-xr-x 2 root 4096 Mar 21 23:48 intl
drwxr-xr-x 4 root 4096 Mar 21 23:49 libdecnumber
drwxr-xr-x 4 root 12288 Mar 21 23:48 libiberty
-rw-rw-rw- 1 200 263820 Feb 9 19:19 libtool.m4
-rw-rw-rw- 1 200 1768 Jun 11 2014 ltgcc.m4
-rw-rw-rw- 1 200 249723 Jun 11 2014 ltmain.sh
-rw-rw-rw- 1 200 6126 Jun 11 2014 lt~obsolete.m4
-rw-rw-rw- 1 200 11950 Jun 11 2014 ltoptions.m4
-rw-rw-rw- 1 200 4372 Jun 11 2014 ltsugar.m4
-rw-rw-rw- 1 200 703 Jun 11 2014 ltversion.m4
-rw-rw-rw- 1 200 3909 Feb 19 2015 MAINTAINERS
-rw-r--r-- 1 root 414118 Mar 21 23:48 Makefile
-rw-rw-rw- 1 200 30110 Feb 9 19:19 Makefile.def
-rw-rw-rw- 1 200 1719859 Feb 24 01:57 Makefile.in
-rw-rw-rw- 1 200 69660 Feb 24 01:55 Makefile.tpl
-rw-r--r-- 1 200 736309 Feb 24 01:59 md5.sum
-rwxrwxrwx 1 200 6872 Feb 19 2015 missing
-rwxrwxrwx 1 200 2179 Jun 11 2014 mkdep
-rwxrwxrwx 1 200 3538 Feb 19 2015 mkinstalldirs
-rwxrwxrwx 1 200 2636 Feb 19 2015 move-if-change
drwxr-xr-x 5 root 12288 Mar 21 23:49 opcodes
drwxr-xr-x 7 root 4096 Mar 21 23:49 readline
-rw-rw-rw- 1 200 1719 Jun 11 2014 README
-rw-rw-rw- 1 200 961 Jun 11 2014 README-maintainer-mode
-rw-r--r-- 1 root 13 Mar 21 23:48 serdep.tmp
drwxr-xr-x 33 root 4096 Mar 21 23:49 sim
-rwxrwxrwx 1 200 9150 Feb 9 19:19 src-release.sh
-rwxrwxrwx 1 200 2265 Jun 11 2014 symlink-tree
drwxr-xr-x 2 root 4096 Mar 20 16:54 texinfo
-rwxrwxrwx 1 200 6421 Feb 19 2015 ylwrap
drwxr-xr-x 14 root 4096 Mar 21 23:48 zlib
直到我从目录 gdb-arm-build/gdb-7.11/gdb
运行 make
才成功。 使用生成的 gdb 二进制文件,我现在可以连接到目标、停止、启动、查看寄存器、符号等。如果我发现我的编译有任何不足,我会跟进,但现在我很好。
我不知道我在这里不理解什么,所以如果有人能阐明我犯了什么错误,我将不胜感激。
关于xml - 无法使用 expat 编译 GDB 以用于远程调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36145228/
我很难找到为什么在共享库(它是 firefox xpcom 组件)中链接静态库(包含 expat 的 XMP)时出现未解析的外部符号。 我在 Windows 下使用 Windows 编译器(标志:“-
当我从我的 XML 文档中打印出信息时,我在每一行之前得到了 ��。这是我的 XML 文档。 Tove Jani Reminder Don't forget me this weekend! 这
我找不到任何关于 expat-parser 在 XML 标签方面支持和不支持的文档。我知道在一般情况下,expat 让事件处理程序(由用户实现)处理标签,但我特别想知道 expat 是否支持任何类型的
我正在尝试安装node-expat。我已经尝试了我能找到的所有建议。运行 npm install node-expat 时,我没有收到任何构建错误。我已经放入了所有依赖项和构建工具包,尝试了 npm
我的项目依赖于 expat。我的问题是我无法链接到 expat。我使用的是Ubuntu(debian环境),需要使用cmake来构建makefile。 我尝试下载源代码并在我的 CMakeLists.
基于树的解析器:这种解析器把 XML 文档转换为树型结构。它分析整篇文档,并提供了对树中元素的访问,例如文档对象模型 (DOM)。 基于时间的解析器:将 XML 文档视为一系列的事件。当某个具体的
我刚开始使用 expat。我试图弄清楚 XML_SetUserData 的用途。在我的例子中,我有一个 A 类对象列表,我需要在解析 XML 流时填充这个列表。 到目前为止,我计划使用单例来表示这个单
我已经用 expat 解析器注册了三个处理程序:- 开始-结尾- 文字 然后从主程序中,我读取了 xml 文件,对其进行缓冲并调用 XML_Parse API。像这样: try { if( ! XML
我正在使用 expat 编写 xml 解析器。刚看到这个: XML_SetElementHandler XML_Parser parser, XML_StartElementHan
我正在将 bluez 交叉编译到我的板上,但无法编译 dbus。 配置时,出现此错误消息: checking for XML_ParserCreate_MM in -lexpat... no conf
我正在使用 MingW 在 Windows 上编写 C 程序,并希望使用 EXPAT XML 库。我想静态编译我的程序,所以我需要静态 .a 库。 有什么方法可以将 EXPAT 编译成 Windows
我有一个二进制流,其中包含串联的 XML 文档。使用如下调用以任意大小的 block 处理流: int expat_status = XML_Parse(parser->expat, buffer,
这是我第一次使用外部 header ,我对外籍人士一无所知。Expat 官方网站对于初学者来说没什么用。我需要使用 expat.h 用 C 语言编译 XML 解析器代码。我已经下载了 expat 文件
我正在使用 expat 读取 xml 文件。我想从 xml 文件中指定的配置中填充我的一些类成员变量。我已经定义了我的 startelement 处理程序, void Start(void *data
Expat 有一个用于 lib 的 .la 文件。我正在尝试使用 XCode 链接它。 我所做的是将目标的“其他链接标志”设置为 libexpat.la,并将“库搜索路径设置为 .la 文件所在的位置
我对 expat 的 XML 验证有疑问。我没有找到可以帮助我验证 xml 文档的文档或 wiki。 是否可以使用 libexpat 和 C 程序通过 xml 模式(xsd 文件)验证我的 XML 文
https://github.com/TooTallNate/node-expat/tree/gyp和node-gyp用于编译它。生成了node_expat.node。在代码中引用时出现以下错误: m
我按照these instructions制作了本地wsdl。 我的本地WSDL中的一些行: 当我像这样使用python时: from SOAPpy import WSDL serv
import xml.parsers.expat def start_element(name, attrs): print('Start element:', name, attrs) de
我正在使用 XML-Simple 和 XML-SAX-Expat 来解析包含外部实体的文档。我这样声明我的实体: 我指的是同一目录下的另一个文件。 但是,它正在我的当前工作目录中搜索该文件,而不是根
我是一名优秀的程序员,十分优秀!