编译提示keil找不到头文件件,应该怎么解决?谢谢了,可以加我q 38568145,在线等

自己写个和设备相关的C程序,用到头文件,但是编译时说找不到,要怎么办?_百度知道
自己写个和设备相关的C程序,用到头文件,但是编译时说找不到,要怎么办?
&ntddscsi.h;等一些头文件找不到,为什么呢devguid.h&gt.h& ,setupapi
提问者采纳
/en-us/download/search://www.microsoft?q=driver+development+kit" target="_blank">http.aspx.aspx:///en-us/download/search请安装一个DDK~这是编写驱动的必备啊~下面附下载地址:<a href="http
提问者评价
谢谢,不过别人的程序也用到那些头文件,没有导入DDK通过了,不解。。。分给你
其他类似问题
你试试把头文件放在工程同一文件夹下看
可是我不知道这个头文件在哪?怎么办
瞎...那怎么知道怎么用这些头文件这是系统自带的还是自己写的头文件?? 系统的话你搜索下看有木有,,,没有肯定用不了嘛
我只是参照别人的程序修改了一下。。。是系统自带的,不过没搜到,谢谢了
为您推荐:
头文件的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁4474人阅读
环境:s3c6410& Ubantu9.10&& arm-linux-gcc-3.4.5(s3c6410交叉编译器)&&&& gcc version 4.4.1(PC linux编译器版本)
本节主要讲述 s3c6010&上的Qtopia2.2.0 的编译方法。 PC版本,qvfb运行的Qtopia2.2.0 的编译 也可以参考。
PC环境:Ubantu9.10&
开发板:s3c6410&&
交叉编译器:arm-linux-gcc4.4.1/arm-linux-gcc 4.3.2
下面开始arm版本Qtopia2.2.0版本的编译
如果您还没有安装arm-linux-gcc-4.4.1 交叉编译器,请先安装该交叉编译器到/usr/local/arm 下面,把arm-linux-gcc-4.4.1压缩包解压到该目录即可完成安装。
需要注意的是:
1 编译Qtopia时确保您的Ubantu9.10环境中安装了GNU g++编译器,Qtopia编译过程中用这个编译器用来编译一些工具在PC上运行.
2 注意您的Ubantu中要安装X11的SDK库,Qtopia编译过程中需要使用X11SDK里面的一些头文件,使用以下命令即可安装需要的文件
#apt-get install libx11-dev libxext-dev libxtst-dev
&另外需要安装工具uuid(Universally Unique Identifier,)和 xmu库文件, 编译Qtopia2.2.0时需要这些在PC上运行的工具和第三方库文件
&apt-get install&&uuid-dev
&apt-get install libxmu-dev libxmu6
如果不安装 uuid和xmu将会出现下面的错误:
没有安装xmu时,编译提示:
& /usr/bin/ld:cannot find -lXmu
没有安装uuid时,编译提示:
Creating pngscale...make[1]: Entering directory `/root/yizhi/qtopia-free-2.2.0/qtopia/util/pngscale'..make[1]: *** [../../bin/pngscale] Error 1make[1]: Leaving directory `/root/yizhi/qtopia-free-2.2.0/qtopia/util/pngscale'Failed to make pngscale
3 编译时 虚拟机中的ARM-qtopia-free-src-2.2.0.tar.gz 文件不能放在与Windows共享的目录中,否则会编译出错.
说明:以下的错误信息是按照 先后顺序 发现和处理的,用户可以根据自己的错误类型信息,自己进行修改.
&&&&&&& 这些错误是自己经历并解决的,也参考了其他网友的一些办法,总结一下,与大家分享
1 编译错误:open函数参数不够&
&&& /usr/include/bits/fcntl2.h:51: error: call to &__open_missing_mode& declared with attribute error: open&& with&O_CREAT in second argument needs 3 arguments
& 解决办法:
& 在Ubuntu 9.10上, gcc会严格检查open()的参数传递,如果第二个参数为O_CREAT的话(就像qtopia-2.2.0-&& Friendly/qt2/src /tools/qmemoryfile_unix.cpp的143行这样),必须传入第三个参数mode。因此,手动修改x86-qtopia- 2.2.0/qt2/src/tools/qmemoryfile_unix.cpp 143行将
&&& if (!f)& && &&&f = open(tmpFile.latin1(), O_CREAT | O_WRONLY);& && 修改为& & if (!f)& && &&&f = open(tmpFile.latin1(), O_CREAT | O_WRONLY, 0666);
2&& 使用未定义的类
& &&&& error: &QWSInputMethod& has not been declared& && 修正方法:& & cd $QTDIR/src/kernel&
&&& gedit qwindowsystem_qws.h&&& 在前面增加以下两行&& class QWSInputM&& class QWSGestureM
&&&该文件中使用了这两个类,C++允许在文件中这样声明其他地方定义的类,减少头文件的相互包含关系,加快编译速度
3& 缺少头文件
& 错误信息:
& kernel/qpixmapcache.cpp:125:57: error: asm/page.h: No such file or directory& kernel/qpixmapcache.cpp: In constructor &QSharedMemoryManager::QSharedMemoryManager()&:& kernel/qpixmapcache.cpp:539: error: &PAGE_SIZE& was not declared in this scope& kernel/qpixmapcache.cpp:539: error: &PAGE_MASK& was not declared in this scope& kernel/qpixmapcache.cpp: In member function &void QSharedMemoryManager::internal_free(QSMemPtr)&:& kernel/qpixmapcache.cpp:773: error: &PAGE_SIZE& was not declared in this scope& kernel/qpixmapcache.cpp:773: error: &PAGE_MASK& was not declared in this scope& make[1]: *** [tmp/release-shared-linux-generic-g++-no-keypad/kernel/qpixmapcache.o] Error 1& make[1]: Leaving directory `/root/yizhi/host/qtopFolder[
& 解决办法:2.6内核中不再含有asm-i386的page.h 修改qt2/src/kernel/qpixmapcache.cpp 文件
#ifdef THROW_AWAY_UNUSED_PAGES
# include &sys/mman.h& // madvise#define PAGE_SHIFT &&12& //new add #define PAGE_SIZE&&(1UL && PAGE_SHIFT)& //new add #define PAGE_MASK&&(~(PAGE_SIZE-1))&&& //new add //# include &asm/page.h& // PAGE_SIZE,PAGE_MASK,PAGE_ALIGN& //注释掉,不需要此行&
4&& 类型转换错误
&/home/work/armqt/qtlibsource/qt-x11/include/qvalue&stack.h:&In&member&function&'T&QValueStack&T&::pop()&[with&T&=&QMap&QString,&QString&]':&xml/qxml.cpp:513:&&&instantiated&from&here&  /home/work/armqt/qtlibsource/qt-x11/include/qvalue&stack.h:57:&错误:不能从'QValueListIterator&QMap&QString,&QString&&&'转换到'const&char*',为实参'1'(属于'int&remove(const&char*)')&/home/work/armqt/qtlibsource/qt-x11/include/qvalue&stack.h:&In&member&function&'T&QValueStack&T&::pop()&[with&T&=&QString]':&xml/qxml.cpp:2502:&&&instantiated&from&here&  /home/work/armqt/qtlibsource/qt-x11/include/qvalue&stack.h:57:&错误:不能从'QValueListIterator&QString&'转换到'const&char*',为实参'1'(属于'int&remove(const&char*)')&解决办法:vi&include/qvaluestack.h&
& 解决办法:template&class T&class Q_EXPORT QValueStack : public QValueList&T&{public:&&& QValueStack() {}&& ~QValueStack() {}&&& void& push( const T& d ) { append(d); }&&& T pop()&&& {&T elem( this-&last() );&if ( !this-&isEmpty() )&&&& this-&remove( this-&fromLast() );//& add& "this-&" & &&&& }
5&& 没有找到uic工具 &错误提示:
&&& make[5]: /root/yizhi/host/qtopia-free-2.2.0/qt2/bin/uic: Command not found&&& make[5]: *** [../../../include/qtopia/private/passwordbase_p.h] Error 127
&& 解决办法:
&&&&&&&&&&&&& cd到你的qtopia-free-2.2.0目录下, find ./& -name uic 会看到其他的目录下已经有了uic,我把qt3/bin
&&&&&&目录下的uic拷贝到 qt2/bin下面,即可
6&&& 多余的符号错误,即类的成员函数在头文件中不需要加类名
&&& qdawg.cpp:294: error: extra qualification &QDawgPrivate::& on member &QDawgPrivate&&&&& make[5]: *** [.obj/release-shared/qdawg.o]oo
&& 解决办法:
&&&&qtopia-free-2.2.0/qtopia/src/libraries/qtopia/qdawg.cpp 里面的
&&& QDawgPrivate::~QDawgPrivate()&
&&&&&&&& delete memoryF
&&& ~QDawgPrivate()& //& delete&& "QDawgPrivate::~" &&&& {&&&&&&& delete memoryF&&& }
&&& 指针类型转换出错:
& backend/vobject.cpp: In function &VObject* addGroup(VObject*, const char*)&:& backend/vobject.cpp:419: error: invalid conversion from &const char*& to &char*&& backend/vobject.cpp: In function &void writeEncString(OFi
&解决办法:
& 修改 qtopia-free-2.2.0/qtopia/src/libraries/qtopia/backend/vobject.cpp 文件149行
&& char *dot = strrchr(g,'.');&&& 修改为 char *dot = (char *)strrchr(g,'.');
&& 错误:编译器找不到QSizePolicy类的五个参数的构造函数
&& ui/release-shared/passwordbase_p.cpp:35: error: no matching function for call to &QSizePolicy::QSizePolicy(QSizePolicy::SizeType, QSizePolicy::SizeType, int, int, bool)&/root/yizhi/host/qtopia-free-2.2.0/qt2/include/qsizepolicy.h:93: note: candidates are: QSizePolicy::QSizePolicy(int)/root/yizhi/host/qtopia-free-2.2.0/qt2/include/qsizepolicy.h:99: note:&&&&&&&&&&&&&&&& QSizePolicy::QSizePolicy(QSizePolicy::SizeType, QSizePolicy::SizeType, bool)/root/yizhi/host/qtopia-free-2.2.0/qt2/include/qsizepolicy.h:63: note:&&&&&&&&&&&&&&&& QSizePolicy::QSizePolicy()/root/yizhi/host/qtopia-free-2.2.0/qt2/include/qsizepolicy.h:46: note:&&&&&&&&&&&&&&&& QSizePolicy::QSizePolicy(const QSizePolicy& & )
&& 解决办法:
&&& qtopia-free-2.2.0/qtopia/src/libraries/qtopia/.ui/release-shared/passwordbase_p.cpp 文件中的38行位置&&& prompt = new QLabel( this, "prompt" );&&& prompt-&setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)1, 0, 0, prompt-&sizePolicy().hasHeightForWidth() ) );
& 修改为:
&&& prompt = new QLabel( this, "prompt" );&&& prompt-&setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)1, prompt-&sizePolicy& ().hasHeightForWidth() ) );
& 即去掉0,0 两个参数
&9& &g++编译器提示 有多余的符号在成员函数前&,有些编译器规定C++成员函数前不需要再加这个类的名字,与第6处错误雷同
&thumbnailview_p.h: At global scope:&thumbnailview_p.h:81: error: extra qualification &ThumbnailItem::& on member &paintItem&&make[5]: *** [.obj/release-shared/imageselector.o] Eopia/src
&&解决办法 :
&&&&& qtopia-free-2.2.0/qtopia/src/libraries/qtopia2/thumbnailview_p.h文件中第81行:
&&& 修改 void ThumbnailItem::paintItem( QPainter*, const QColorGroup& );
&&&&修改后& void& paintItem( QPainter*, const QColorGroup& );
&& 继续编译后会出现类似的错误
abtable_p.h:276: error: extra qualification &PhoneTypeSelector::& on member &addType&make[5]: *** [.obj/release-shared/abtable.o] Error 1make[5]: Leaving directory `/root/yizhi/host/qtopia-free-2.2.0/qtopia/src/libraries/qtopiapim'make[4]: *** [all] Error 2
& &解决办法:
&&&& 修改 qtopia-free-2.2.0/qtopia/src/libraries/qtopiapim/abtable_p.h 文件中276行
&QListViewItem* PhoneTypeSelector::addType(QListViewItem* prevItem,&&&&&&& QString number, const char* pixmapName, PimContact::ContactFields phoneType);
&&&& QListViewItem* addType(QListViewItem* prevItem,QString number, const char* pixmapName, PimContact::ContactFields phoneType);
&& 也就是去掉 PhoneTypeSelector::
& 继续编译:
&&&& ../../../include/qtopia/pim/private/../../../../src/libraries/qtopiapim/numberentry_p.h: At global scope:../../../include/qtopia/pim/private/../../../../src/libraries/qtopiapim/numberentry_p.h:106: error: extra qualification &NumberEntryDialog::& on member &eventFilter&make[5]: *** [.obj/release-shared/numberentry.o] Error 1make[5]: Leaving directory `/root/yizhi/host/qtopia-free-2.2.0/qtopia/src/libraries/qtopiapim'make[4]: *** [all] Error 2
&解决办法:
&&&& 修改 qtopia-free-2.2.0/qtopia/src/libraries/qtopiapim/numberentry_p.h&& 第106行
&&&&&&bool NumberEntryDialog::eventFilter(QObject *o, QEvent *e);
&&&&&修改为 bool& eventFilter(QObject *o, QEvent *e);
&&&make[5]: Leaving directory `/root/yizhi/host/qtopia-free-2.2.0/qtopia/src/libraries/mediaplayer'&& make[4]: *** [all] Error 2&& make[4]: Leaving directory `/root/yizhi/host/qtopia-free-2.2.0/qtopia/src/libraries/mediaplayer'
&&& 修改& qtopia-free-2.2.0/qtopia/src/libraries/mediaplayer/videoviewer.cpp 文件 52行
&&& SimpleVideoWidget::SimpleVideoWidget(QWidget *parent);
&& 修改后:
&&&&&&&&&&&&& SimpleVideoWidget(QWidget *parent);& //构造函数
& 继续编译
&&In file included from addressbook.cpp:40:&ablabel.h: At global scope:&ablabel.h:78: error: extra qualification &AbLabel::& on member &decodeHref"
&解决办法:
&&& 修改& qtopia-free-2.2.0/qtopia/src/applications/addressbook/ablabel.h&& 78行
& &bool AbLabel::decodeHref(const QString& href, ServiceRequest* req, QString* pm)
&& 修改为 bool& decodeHref(const QString& href, ServiceRequest* req, QString* pm)
& 10&& 又一处未经定义的构造函数错误提示:
.ui/release-shared/emaildlg.cpp: In constructor &EmailDialogBase::EmailDialogBase(QWidget*, const char*, bool, uint)&:.ui/release-shared/emaildlg.cpp:65: error: no matching function for call to &QSizePolicy::QSizePolicy(QSizePolicy::SizeType, QSizePolicy::SizeType, int, int, bool)&/root/yizhi/host/qtopia-free-2.2.0/qt2/include/qsizepolicy.h:93: note: candidates are: QSizePolicy::QSizePolizePolicj4
&&&&&修改& qtopia-free-2.2.0/qtopia/src/applications/addressbook/.ui/release-shared/emaildlg.cpp& 文件第65行&&&&&& okButton = new QPushButton( this, "okButton" );&&& okButton-&setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)3, (QSizePolicy::SizeType)0, 0, 0, okButton-&sizePolicy().hasHeightForWidth() ) );&&& Layout2-&addWidget( okButton );
&&& cancelButton = new QPushButton( this, "cancelButton" );&&& cancelButton-&setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)3, (QSizePolicy::SizeType)0, 0, 0, cancelButton-&sizePolicy().hasHeightForWidth() ) );&&& Layout2-&addWidget( cancelButton );
okButton = new QPushButton( this, "okButton" );&&& okButton-&setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)3, (QSizePolicy::SizeType)0,okButton-&sizePolicy().hasHeightForWidth() ) );&&& Layout2-&addWidget( okButton );
&&& cancelButton = new QPushButton( this, "cancelButton" );&&& cancelButton-&setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)3, (QSizePolicy::SizeType)0,cancelButton-&sizePolicy().hasHeightForWidth() ) );&&& Layout2-&addWidget( cancelButton );
&继续编译:
&&& 错误提示:.ui/release-shared/camerabase.cpp:41: error: no matching function for call to &QSizePolicy::QSizePolicy(QSizePolicy::SizeType, QSizePolicy::SizeType, int, int, bool)&/root/yizhi/host/qtopia-free-2.2.0/qt2/include/qsizepolicy.h:93: note: candidates are: QSizePolicy::QSizePolicy(int)
&& 解决办法:
&&&& 编辑& qtopia-free-2.2.0/qtopia/src/applications/camera/.ui/release-shared/camerabase.cpp 文件的第41行
&videocaptureview-&setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, videocaptureview-&sizePolicy().hasHeightForWidth() ) );
videocaptureview-&setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, videocaptureview-&sizePolicy().hasHeightForWidth() ) );
&&& 继续编译。同样是这个类型的错误,这里就不再列出了,用户可以仿照上面的方法,根据错误提示信息,自己进行修改,修改后保存,继续编译。
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:315845次
积分:3677
积分:3677
排名:第4082名
原创:54篇
转载:66篇
评论:110条
(5)(4)(1)(1)(3)(3)(1)(1)(2)(3)(3)(3)(2)(3)(1)(1)(2)(2)(6)(1)(6)(1)(2)(1)(1)(1)(1)(7)(6)(9)(8)(1)(1)(1)(2)(1)(2)(3)(1)(1)(4)(3)(11)QT编译时出现的一些错误,请懂的朋友指点下_百度知道
QT编译时出现的一些错误,请懂的朋友指点下
#include &lt.h&】不知道是 我看的资料太古老了,系统提示No such file or directory问题二.05问题一#include&lt.h&gt,但删掉又没影响.05求教了。软件版本是,软件也是较新版本qt-sdk-win-opensource-2010;qmultilineedit:qt-sdk-win-opensource-2010;这种在我看的资料里的头文件;qpopupmenu,系统说QApp类不包含setMainW【这条指令不好用;qscrollview。我看的资料室24小时学通QT;class qapplication has no member of ‘setMainWidget&#39.h&gt,在我编译时却不存在.setMainWidget( &w)本人新接触QT,学习下,现在的指令有改变;
#include&lt,还望懂的朋友能指点下;
QWidget w,提示&#39,按道理不会啊,谢谢:QApplication a(#include &lt,argv);#include &qwidgetstack&gt.h&gt,但在参照参考资料进行编译过程中遇到不少问题,还是我的软件库不全
对于第一个问题,请问怎么调用我提到的那些头文件呢?因为我看资料里
也是直接调用的谢谢
提问者采纳
return a,你可以看一下《精通QT4编程》,一般使用#include &这种.show(),就可以解决找不到库文件的问题了.setMainWidget(&w);
QApplication a(
QWidget w。a。QT4中include头文件与以前有不同,修改一下,argv),你可以这样写;这句话不再使用了;QPushButton&gt,你可以针对不同的类你的资料有些陈旧;有什么问题可以PM我.exec()
提问者评价
谢谢大家的帮助,可只能选一个,第一位抱歉了
其他类似问题
为您推荐:
其他1条回答
aaaa&gt,QT4的setMainWidget拿掉了,这个已经在QT源码里做了路过帮下你问题一;改为 #include &lt,
以前的#include &lt,只针对系统库
个人认为这样变动的好处是比较好区分用户和系统的头文件问题二;;aaaa.h&gt,QT4 的include系统库 和QT3 的不一样了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在QT编程中,我加了个头文件QNetwork文件,为什么编译说找不到该文件?我的里面包含有这个文件阿 ?_百度知道
在QT编程中,我加了个头文件QNetwork文件,为什么编译说找不到该文件?我的里面包含有这个文件阿 ?
随便建立一个QT工程,加入此头文件都报这样的错,换了台电脑也是一样~~求解
use the following directive: #include &ltApplications that use Qt&#39: QT += networkThis line is necessary because only the QtCore and QtGui modules are used in the ds networking classes need to be configured to be built against the QtNetwork module.To include the definitions of the module&#39;QtNetwork&s classes. The following declaration in a qmake project file ensures that an application is compiled and linked appropriately
其他类似问题
为您推荐:
其他3条回答
你想用QNetwork下面的qsslsocket,是配置问题 或者你加了QNetwork的上一级目录;qsslsocket.h可用用QNetwork&#47QT中没有这个文件吧 ,QNetwork是个关于网络操作的文件夹。你在项目的属性里加上QNetwork所指的路径应该就行了
好象不是QNetwork应该是#include &qnetwork.h&另外如果还出错还要在*.pro文件里加入QT += network
你是怎么加的,使用的是什么编译环境?#include &QtNetwork&这样加无效吗?可以参考Demos中的Networking中的范例,(我使用的是VS2005编译环境),首先要确保你的编译器里加入了Network Library
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用keil编写的STM32程序编译完后,没有错。请问下图中的头文件图标不一样是怎么回事?_百度知道
用keil编写的STM32程序编译完后,没有错。请问下图中的头文件图标不一样是怎么回事?
jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http.jpg" esrc="/zhidao/wh%3D450%2C600/sign=1f8c54e386cd2b0f4ebf81a4c510f67bc5add42aa505http<a href="http.html://zhidao.html.baidu:///question/7380108
提问者评价
其他类似问题
为您推荐:
其他2条回答
带黄色的都是ST的库,貌似属性都是只读的,应该是这个原因吧。你试试
带黄色小钥匙的是不可修改的,是st固件库的头文件,没有小黄钥匙的是用户可以根据自己的需要进行修改的。
头文件的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 xcode找不到头文件 的文章

 

随机推荐