2017-02-27 140 views
0

我想在Windows上使用等效的linux庫libdns_sd.so。 我使用QT/C++來構建使用dns_sd.h 我面對錯誤的應用程序,我有:dns_sd.h沒有這樣的文件或目錄窗口qt

dns_sd.h: No such file or directory 

在Linux上,它的工作原理完全與此行中我的.pro文件:

LIBS += /usr/lib/x86_64-linux-gnu/libdns_sd.so 

我不知道要在Windows上包括什麼才能使其工作。 我在https://opensource.apple.com/tarballs/mDNSResponder/上下載了mDNSResponder,但我沒有找到要包含的庫。

謝謝!

回答

0

LIBS變量會導致您鏈接到libdns_sd.so共享庫,這與您看到的問題無關。編譯器不抱怨缺少共享庫,它抱怨缺少頭文件dns_sh.h

在所有平臺上,必須在包含路徑中找到頭文件。通常在Linux上安裝開發包時,頭文件被放置在一個常用的包含路徑中。

在Windows上,您需要自行配置包含路徑。在qmake中使用INCLUDEPATH變量。在你的Windows系統上添加路徑到dns_sd.h,程序應該編譯...確保也鏈接到dll。

+0

Hello Tim!非常感謝您的回答 ! 我添加這些行: 的win32 { LIBPATH = C:/Temp/mDNSResponder-576.30.4/mDNSWindows/DLL/ INCLUDEPATH + = C:/Temp/mDNSResponder-576.30.4/mDNSShared } 現在他找到頭文件,但仍然使「未定義的引用'DNSServiceRegister'和其他功能」,但功能已定義,我可以看到自動完成等。 我又錯過了什麼? 謝謝 – DevAndroid

相關問題