📄 software-building-7.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
<TITLE>在 Linux 下建立软体套件: 第二个例子: Xloadimage</TITLE>
<LINK HREF="Software-Building-8.html" REL=next>
<LINK HREF="Software-Building-6.html" REL=previous>
<LINK HREF="Software-Building.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="Software-Building-8.html">Next</A>
<A HREF="Software-Building-6.html">Previous</A>
<A HREF="Software-Building.html#toc7">Contents</A>
<HR>
<H2><A NAME="s7">7. 第二个例子: Xloadimage</A></H2>
<P>这个例子提出较简单的问题. <B>xloadimage</B>
程式加入到我的图形工作组似乎是很有用. 我从一本由 Mui 和 Quercia 所著的好书
<A HREF="Software-Building-11.html#refs">X User Tools</A>
所附的 CD 上的原始码目录(source directory), 直接复制 <EM>xloadi41.gz</EM>
档案下来. 如预期的, 用 <B>tar xzvf</B> 解开所有档案. 然而,
<B>make</B> 出现了令人讨厌的错误而且中断.
<P>
<HR>
<PRE>
gcc -c -O -fstrength-reduce -finline-functions -fforce-mem
-fforce-addr -DSYSV -I/usr/X11R6/include
-DSYSPATHFILE=\"/usr/lib/X11/Xloadimage\" mcidas.c
In file included from /usr/include/stdlib.h:32,
from image.h:23,
from xloadimage.h:15,
from mcidas.c:7:
/usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:
conflicting types for `wchar_t'
/usr/X11R6/include/X11/Xlib.h:74: previous declaration of
`wchar_t'
make[1]: *** [mcidas.o] Error 1
make[1]: Leaving directory
`/home/thegrendel/tst/xloadimage.4.1'
make: *** [default] Error 2
</PRE>
<HR>
<P>这错误讯息含有最根本的线索.
<P>看一下档案 <EM>image.h</EM> 的23行.
<HR>
<PRE>
#include <stdlib.h>
</PRE>
<HR>
啊哈! 在 <EM>xloadimage</EM>, <CODE>wchar_t</CODE>
原始码的某处已经重复定义了在标准 include 档案 <CODE>stdlib.h</CODE> 已定义的东西.
首先试试将在 <CODE>image.h</CODE> 的23行标注(commenting out)起来,
也许 <CODE>stdlib.h include</CODE> 是不大需要的.
<P>此时, <EM>build</EM> 过程没有任何重大错误.
<B>xloadimage</B> 程式现在功能都正常.
<P>
<P>
<P>
<P>
<P>
<HR>
<A HREF="Software-Building-8.html">Next</A>
<A HREF="Software-Building-6.html">Previous</A>
<A HREF="Software-Building.html#toc7">Contents</A>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -