谢谢你的回帖,我这两天一直在试,我自己写了个测试程序,可以在终端上显示ad的采集值,然后我把这个测试程序作为我我自己定义一个类的基础写到了qt的代码中, 但现在的问题是在测试代码中能编译通过并运行的代码,但在qt编译过程中,出现找不到打开驱动的open()函数,我的代码如下,错误信息,如下
#include<sys/ioctl.h>
#include<unistd.h>
#include<stdio.h>
#include<stdlib.h>
#include "adport.h"
#define device_adtest "/dev/ad"
ADport::ADport( QWidget *parent, const char *name )
: QLabel( parent, name )
{
if((fd=open(device_adtest,0))>=0){
//line.open(IO_ReadOnly);
ioctl(fd,1,0);
sleep(1);
ret=ioctl(fd,0,0);
ret &= 0x3ff;
//voltage=(float)ret;
//voltage=(voltage-1023)*(-1)*3.3/1023;
label->setText(&ret);
label->show();
}
}
错误信息如下:
[root@localhost 1116]# make
arm-linux-g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/usr/local/arm/2.95.3/arm-linux/include -I/opt/Qt_E_ARM/qt-2.3.7/include -o adport.o adport.cpp
adport.cpp: In method `ADport::ADport()':
adport.cpp:12: implicit declaration of function `int open(...)'
make: *** [adport.o] Error 1
劳驾给分析一下,我已经在我的*.pro文件中,在INCLUDEPATH中添加变量说明了
INCLUDEPATH += /usr/local/arm/2.95.3/arm-linux/include
但还是不行,都搞了三四天了,还请给分析一下 !