⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 software-building-7.html

📁 Linux初学者最好的老师就是howto了。相当于函数man。
💻 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 &lt;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 + -