• 7936阅读
  • 4回复

Qt使用qextserialport-1.2win-alpha编译问题 [复制链接]

上一主题 下一主题
离线fire_ball
 

只看楼主 正序阅读 楼主  发表于: 2010-06-17
最近要写串口通信程序,准备用qextserialport-1.2win-alpha,发现直接编译qextserialport.pro时候会报错.
qextserialenumerator.obj:-1: error:  无法解析的外部符号 __imp__RegQueryValueExW@24,该符号在函数 "private: static class QString __cdecl QextSerialEnumerator::getRegKeyValue(struct HKEY__ *,unsigned short const *)" (?getRegKeyValue@QextSerialEnumerator@@CA?AVQString@@PAUHKEY__@@PBG@Z) 中被引用
qextserialenumerator.obj:-1: error:  无法解析的外部符号 __imp__RegCloseKey@4,该符号在函数 "private: static void __cdecl QextSerialEnumerator::setupAPIScan(class QList<struct QextPortInfo> &)" (?setupAPIScan@QextSerialEnumerator@@CAXAAV?$QList@UQextPortInfo@@@@@Z) 中被引用

RegQueryValueEx 问题在qextserialenumerator.cpp中用到了RegQueryValueEx 和RegCloseKey,这应该是windows下的东东,网上查了下所需要的头文件,发现包含了也没有用,
那位大虾知道什么原因么?
[ 此帖被fire_ball在2010-06-17 15:41重新编辑 ]
离线dbzhang800

只看该作者 4楼 发表于: 2010-06-27
引用第2楼fire_ball于2010-06-18 10:35发表的  :
用了最新的依然编译不过 , 报无法解析外部命令.好像配置有关系.


哦,没注意到你用的VS,用Mingw没这种问题

用 VS的话,手动加上链接选项即可,可以像楼上那样加,可也以在pro文件内添加
LIBS+= -lADVAPI32 -luser32
离线龙平安

只看该作者 3楼 发表于: 2010-06-27

qextserialenumerator.h  中间加一行代码 即可 少了 Advapi32.lib 库

#ifdef _TTY_WIN_
#include <windows.h>
#include <setupapi.h>
#pragma comment( lib, "Advapi32.lib" )              // added by csoapy
#endif /*_TTY_WIN_*/
离线fire_ball

只看该作者 2楼 发表于: 2010-06-18
用了最新的依然编译不过 , 报无法解析外部命令.好像配置有关系.
离线dbzhang800

只看该作者 1楼 发表于: 2010-06-17
感觉中1.2 alpha 这个版本应该是没有问题的

不行就用新版吧
http://code.google.com/p/qextserialport/
快速回复
限100 字节
 
上一个 下一个