element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2298回复:19

linux下c的问题,请教大家

楼主#
更多 发布于:2002-02-05 14:34
 一个简单的(复杂的???)编译问题
现需要编译mouse.c(/usr/src/xc/p../hw/Xs../input/mouse/mouse.c)为mouse_drv.o(/usr/X11R6/lib/modules/input/mouse_drv.o),
但mouse.c需要使用很多的包含文件,请问该怎样在gcc 中指定(修改site.def太麻烦)?

注:用笨办法把所有源文件拷贝到同一个目录并把所有的<>包含该为\"\"包含,会出错,很多错。

平台 :redhat7.2(xfree86为4.10)



[编辑 -  2/5/02 作者: element]
ELEMENT
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-02-05 14:48
gcc -I /dir1/dir2
这样不久可以了么?
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-02-05 15:46
thanx,sunsetyang .
but
现在我把所有的include目录都-I了,可以编译了,但错误似乎比代码还长。
主要是:大量的parse error before `*****`
       一些previous declaration of `*****`
       和不少的warning

可是我编译的是原封不动的4.10源代码呀

另外,请问在哪里能找到这些错误的含义说明。

谢谢。
ELEMENT
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-02-05 16:20

Ps:\"parse error before...\"通常有格式错误引起,但是其他模块也会出错,难道所有的源代码都不正确? 或者我的GCC2.92太新?该用2.7.2.3?

还请解惑
ELEMENT
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-02-05 16:59
我现在使用的命令是:
gcc -o -I/usr/src/xc/include -I/usr/src/xc/extras/freetype2/include -I/usr/src/xc/extras/Mesa/include -I/usr/src/xc/extras/ogl-sample/main/gfx/lib/glu/include -I/usr/src/xc/extras/x86emu/include -I/usr/src/xc/lib/font/include -I/usr/src/xc/lib/GL/include -I/usr/src/xc/lib/GLU/include -I/usr/src/xc/programs/lbxproxy/include -I/usr/src/xc/programs/xfs/include -I/usr/src/xc/programs/xrx/plugin/include -I/usr/src/xc/programs/Xserver/include -I/usr/src/xc/programs/Xserver/GL/include -I/usr/src/xc/programs/Xserver/hw/hp/include -I/usr/src/xc/programs/Xserver/PEX5/include -I/usr/src/xc/programs/Xserver/PEX5/ddpex/mi/include -I/usr/src/xc/programs/Xserver/XIE/include -I/usr/src/xc/programs/Xserver/XIE/mixie/include -I/usr/src/xc/programs/Xserver/hw/xfree86 -I/usr/src/xc/programs/Xserver/hw/xfree86/common -I/usr/src/xc/programs/Xserver/hw/xfree86/os-support/ -I/usr/src/xc/include/ mouse.c
ELEMENT
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-02-05 17:46
    你不能用configure以后自动生成的makefile来做么?
可能你的里面include了不需要的东西于是就有了parse error.
你看看那个目录下面有没有makefile,一般最简单的方法是从makefile里面找出相应的依赖的include文件的。你先检查一下?
   直接的编译是最方便的,不过可能会编译其他很多无用的东西。
  
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-02-05 17:52
再次感谢斑竹
不过我刚刚转到linux,问题有比较急迫,可否用qq联系一下?
我的是40639533
ELEMENT
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-02-05 18:02
目录下面只有Imakefile,我有试过用imake OR xmkmf OR xmkmf -a等命令来生成makefile,都不能成功
Imakefile中有一行
INCLUDES = -I. -I$(XF86COMSRC) -I$(XF86SRC)/loader -I$(XF86OSSRC) \\
      -I$(SERVERSRC)/include -I$(XINCLUDESRC) -I$(EXTINCSRC)
但我不知道应该怎么对应,
ELEMENT
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-02-05 19:36
INCLUDES = -I. -I$(XF86COMSRC) -I$(XF86SRC)/loader -I$(XF86OSSRC) \\
-I$(SERVERSRC)/include -I$(XINCLUDESRC) -I$(EXTINCSRC)

gcc -I. -I/usr/src/xc/programs/Xserver/hw/xfree86/common -I/usr/src/xc/programs/Xserver/hw/xfree86
-I/usr/src/xc/programs/Xserver/hw/xfree86/os-support -I/usr/src/sc/programs/Xserver/include
-I/usr/src/xc/include/X11 -I/usr/src/xc/include/externsions mouse.c
SERVERSRC = $(XTOP)/programs/Xserver
XF86SRC = $(SERVERSRC)/hw/xfree86
XF86COMSRC=$(XF86SRC)/common
XINCLUDESRC = $(INCLUDESRC)/X11
EXTINCSRC = $(XTOP)/include/extensions
XF86OSSRC = $(XF86SRC)/os-support

xtop就是/usr/src/xc

你这样就可以了吧!
  
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-02-05 20:45
最终使用的是 gcc -I. -I/usr/src/xc/programs/Xserver/hw/xfree86/common -I/usr/src/xc/programs/Xserver/hw/xfree86/loader
-I/usr/src/xc/programs/Xserver/hw/xfree86/os-support -I/usr/src/xc/programs/Xserver/include
-I/usr/src/xc/include/X11 -I/usr/src/xc/include/externsions
但会提示有两个文件找不到,他们在/usr/src/xc/include下,把这个目录也加进去或者把文件考出来后,能够编译,但会有两屏错误,减少包含目录也减少了错误,而把所有文件都考到一起会有10屏,所明的确根包含目录有关, 也许最正宗的方法是按照install-x-org说的,编辑site.def,再imake,再make,可是这条路看这就快走通了,让我再试试看。

附:使用4.20版的xfree86也会有相同问题
ELEMENT
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-02-05 20:56
最终使用的是 gcc -I. -I/usr/src/xc/programs/Xserver/hw/xfree86/common -I/usr/src/xc/programs/Xserver/hw/xfree86/loader
-I/usr/src/xc/programs/Xserver/hw/xfree86/os-support -I/usr/src/xc/programs/Xserver/include
-I/usr/src/xc/include/X11 -I/usr/src/xc/include/externsions
但会提示有两个文件找不到,他们在/usr/src/xc/include下,把这个目录也加进去或者把文件考出来后,能够编译,但会有两屏错误,减少包含目录也减少了错误,而把所有文件都考到一起会有10屏,所明的确根包含目录有关, 也许最正宗的方法是按照install-x-org说的,编辑site.def,再imake,再make,可是这条路看这就快走通了,让我再试试看。

附:使用4.20版的xfree86也会有相同问题

看看你的Imakefile,好像还要一个-DPNP_MOUSE
并且需要编译两个文件mouse.c pnp.c
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-02-05 21:09
那样就跟复杂了,我现在编译的是...../sample/sample.c,
差一个Xfuncs.h文件,靠过来编就有两屏错误,
ELEMENT
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-02-05 21:39
那样就跟复杂了,我现在编译的是...../sample/sample.c,
差一个Xfuncs.h文件,靠过来编就有两屏错误,

什么意思?
你的mouse还不行?
你直接在/usr/src/xc下imake
然后再到拿个目录去敲make吧!
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-02-05 22:16
行的话,我早就飞回家睡觉去了,几天几夜没合眼了,怎么liunx下面编译这么困难哟......
天要忘我,非吾不能也。:)
ELEMENT
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-02-05 22:20
那该死的install-x-org,本来就有29.9K大,偏偏还一会儿让看这个文件一会儿让看那个文件,哦,MY GOD,

急白了我的头.....
ELEMENT
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-02-05 22:27
那该死的install-x-org,本来就有29.9K大,偏偏还一会儿让看这个文件一会儿让看那个文件,哦,MY GOD,

急白了我的头.....

不要急啊!慢慢来,好好休息一下,头脑清楚了,做什么都很快的。
:-)
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-02-05 23:09
马上成功了!你等一会!
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
sunsetyang
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-02-05 23:14
编译pnp.c的命令行:
$ gcc -I. -I/usr/src/xc/include -I/usr/src/xc/programs/Xserve
r/hw/xfree86/common -I/usr/src/xc/programs/Xserver/hw/xfree86/loader -I/usr/src/
xc/programs/Xserver/hw/xfree86/os-support -I/usr/src/xc/programs/Xserver/mi -I/u
sr/src/xc/programs/Xserver/include -I/usr/src/xc/programs/Xserver/hw/xfree86/ -I
/usr/src/xc/include/extensions -I/usr/src/xc//programs/Xserver/hw/xfree86/os-sup
port/bus -DXINPUT -DPNP_MOUSE -c pnp.c  -o pnp.o
编译mouse.c的命令行:
gcc -I. -I/usr/src/xc/include -I/usr/src/xc/programs/Xserve
r/hw/xfree86/common -I/usr/src/xc/programs/Xserver/hw/xfree86/loader -I/usr/src/
xc/programs/Xserver/hw/xfree86/os-support -I/usr/src/xc/programs/Xserver/mi -I/u
sr/src/xc/programs/Xserver/include -I/usr/src/xc/programs/Xserver/hw/xfree86/ -I
/usr/src/xc/include/extensions -DXINPUT -DPNP_MOUSE -c mouse.c  -o mouse.o
接下来还要做连接的。你还是要看makefile里面的。
[color=red]Optimization[/color] In Progress . . . Welcome to http://mail.ustc.edu.cn/~chyang/
element
驱动牛犊
驱动牛犊
  • 注册日期2002-02-04
  • 最后登录2002-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-02-05 23:25
thanx a lot lot lot,找了很多论坛。终于在这里解决了,我要歌唱伟大的祖国,歌唱伟大领袖,$%#!@&#^!@#&!*#&!&*#&*!&*3&*!&*#!&#^$^!^$*!@$^!*$!$^*!*$*!$&*
ELEMENT
chenx
驱动牛犊
驱动牛犊
  • 注册日期2002-02-19
  • 最后登录2003-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-03-11 10:28
Yea
游客

返回顶部