这是一个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的路径中。
错误仍在发生:(
答案 0 :(得分:0)
在包含dns_sd.h修复它之前添加了这个。
#define _MSL_STDINT_H
#include <stdint.h>
#include <dns_sd.h>
我也尝试使用原始的lib文件,它仍然可以工作。所以可能没有必要将.lib转换为.a