QT dns_sd.h UINT8没有命名类型

时间:2014-08-12 16:38:23

标签: windows qt bonjour zeroconf

这是一个zeroconf example我正在尝试在Windows上编译。我还从Apple下载了bonjour sdk for Windows

我正在使用Qt版本(4.6.2)和Qt Creator 1.3.1,不确定它是否相关。

当我编译时,它抱怨'UINT8'没有在dns_sd.h中命名一个类型。我试图在dns_sd.h之前包含stdint.h,如下所示:

#include <stdint.h>
#include <dns_sd.h>

但QT仍抱怨同样的错误。即使我进入stdint.h并且有一个uint8_t的声明。

This post建议将.lib转换为.a,因为我们无法将gcc程序链接到MSVC lib。我试过但它没有解决问题。这是.pro文件

HEADERS       = client.h \
            bonjourservicebrowser.h \
            bonjourserviceresolver.h
SOURCES       = client.cpp \
            main.cpp \
            bonjourservicebrowser.cpp \
            bonjourserviceresolver.cpp
QT           += network

!mac:x11:LIBS+=-ldns_sd
win32:LIBS+=-ldnssd
LIBPATH += "C:/Tools/reimp_new/bin"
INCLUDEPATH += "C:/Program Files/Bonjour SDK/Include"

我将libdnssd.a放在C:\ Tools \ reimp_new \ bin的路径中。

错误仍在发生:(

1 个答案:

答案 0 :(得分:0)

在包含dns_sd.h修复它之前添加了这个。

#define _MSL_STDINT_H
#include <stdint.h>
#include <dns_sd.h>

我也尝试使用原始的lib文件,它仍然可以工作。所以可能没有必要将.lib转换为.a