当前位置: 技术问答>linux和unix
linux C及qt 编译出错,请指点!
来源: 互联网 发布时间:2016-08-10
本文导语: 我用linux-c和qt的库做了一个QT的应用程序,目的是要实现点击一个按钮时,终端可以自动打印DS18B20温度传感器(已通过驱动提供了接口函数)的温度值,编译器是arm-linux-g++ 3.4.1,但在编译时出现如下报错: arm-linux-g++...
我用linux-c和qt的库做了一个QT的应用程序,目的是要实现点击一个按钮时,终端可以自动打印DS18B20温度传感器(已通过驱动提供了接口函数)的温度值,编译器是arm-linux-g++ 3.4.1,但在编译时出现如下报错:
arm-linux-g++ -c -pipe -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/opt/EmbedSky/Qte/touch_qtopia/qt/include -I/opt/EmbedSky/Qte/touch_qtopia/qtopia/include -o ilms.o ilms.cpp
ilms.cpp: In member function `virtual void ILMS::temSet()':
ilms.cpp:3008: error: `read' was not declared in this scope
ilms.cpp:3018: error: `sleep' was not declared in this scope
ilms.cpp:3008: warning: unused variable 'read'
ilms.cpp:3018: warning: unused variable 'sleep'
make: *** [ilms.o] Error 1
好像是由于不识别read、sleep等系统调用函数导致的,但是相关头文件我都添加了,源代码如下:
#include "ilms.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int fd;
unsigned char buf[2];
float result;
/*
* Constructs a ILMS which is a child of 'parent', with the
* name 'name' and widget flags set to 'f'
*/
ILMS::ILMS( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, fl )
{
\这部分是由uic自动生成的QT界面的代码,已通过调试没有问题,从略
// signals and slots connections
connect( tempSet, SIGNAL( clicked() ), temTipslabel, SLOT( clear() ) );
// tab order
setTabOrder( tabGroup, curTemLine );
}
void ILMS::temSet()
{
if ((fd=open("/dev/DS18B20",O_RDWR | O_NDELAY | O_NOCTTY))
arm-linux-g++ -c -pipe -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/opt/EmbedSky/Qte/touch_qtopia/qt/include -I/opt/EmbedSky/Qte/touch_qtopia/qtopia/include -o ilms.o ilms.cpp
ilms.cpp: In member function `virtual void ILMS::temSet()':
ilms.cpp:3008: error: `read' was not declared in this scope
ilms.cpp:3018: error: `sleep' was not declared in this scope
ilms.cpp:3008: warning: unused variable 'read'
ilms.cpp:3018: warning: unused variable 'sleep'
make: *** [ilms.o] Error 1
好像是由于不识别read、sleep等系统调用函数导致的,但是相关头文件我都添加了,源代码如下:
#include "ilms.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int fd;
unsigned char buf[2];
float result;
/*
* Constructs a ILMS which is a child of 'parent', with the
* name 'name' and widget flags set to 'f'
*/
ILMS::ILMS( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, fl )
{
\这部分是由uic自动生成的QT界面的代码,已通过调试没有问题,从略
// signals and slots connections
connect( tempSet, SIGNAL( clicked() ), temTipslabel, SLOT( clear() ) );
// tab order
setTabOrder( tabGroup, curTemLine );
}
void ILMS::temSet()
{
if ((fd=open("/dev/DS18B20",O_RDWR | O_NDELAY | O_NOCTTY))