2013-03-20 65 views
1

我在一個項目中使用現有的C++代碼,我缺少zlib.h,Windows不支持它,所以我需要找到一種方法來做到這一點與其他庫。壓縮庫Windows運行時

例如驗證碼不起作用:

uLongf outLength = m_outLength; 

uncompress(reinterpret_cast<Bytef*>(m_outBuf), &outLength, 
    reinterpret_cast<Bytef*>(m_inBuf), m_inLength); 

m_outOffs = 0; 

在黑色的錯誤

uLongf 
uncompress 
Bytef 

有沒有辦法與其他圖書館或其他方式做到這一點,還是有辦法將zlib移植到項目中。我正在使用Visual Studio 2012.

我希望有人能幫助我解決這個問題。

回答

1

我與現有的C++代碼的項目工作,我很想念 zlib.h,Windows不支持它,所以我需要找到一種方法,與其他一些圖書館做 。

您確定嗎? http://www.zlib.net/DLL_FAQ.txt

  • 導出的符號在源專門定義 文件「zlib.h」和「zlib.def」,在官方的zlib 源分佈發現。

您可以使用 「準備」 DLL http://gnuwin32.sourceforge.net/packages/zlib.htm(Zlib壓縮用於Windows)或通過建立它自己:http://www.helyar.net/2010/compiling-zlib-lib-on-windows/

+0

對不起,我沒有爲Windows Phone的expecify WINDOWS RT(運行)。但我會嘗試你建議我的。謝謝 – Bozow 2013-03-20 08:30:15

+0

評論者不知道Windows(Phone)8不允許你編譯.c文件或編譯舊的C語法代碼(這實際上是編譯W(P)8的zlib後的真正問題)。該鏈接是無用的,因爲只有VS2012知道如何正確鏈接靜態庫與適當的標誌(Windows 8應用程序支持和消費Windows運行時擴展) – RelativeGames 2013-04-19 07:07:46