看板 C_and_CPP 關於我們 聯絡資訊
剛接觸 win32 application 之後都是接觸 python 跟 c# 目前需要用到一個功能是 unzip .zip file 之前寫法都是直接找 library 來用 不用設定很多 不過我試了好幾天 win32 一直寫不出來 我找過最多人用的 zlib 一直跑出 unresolved external symbol *** referenced in function 網路上也很多人有這問題 但是都沒找到解答 有一點這麼灰心 但是這老牌子了 能成功能使用的人一定很多 這就有點怪 請問有板友知道 單純想要 unzip .zip file 要 import library 的話 要怎麼做最簡單 謝謝 對了 還有一個疑問 zlib 原本不是要被拿來解壓縮用的 他似乎是壓縮後會馬上解壓縮 還得記得憶壓縮前的大小 請問這在什麼地方會有這樣的應用 謝謝 專案檔 https://1drv.ms/u/s!Auk1qqHSCCLiiegynPpLKLrOfyf5Pg 補充說明一下 因為 zlib 的原意不是拿來解壓縮用的 所以用的指令是他的 contrib 下面的 minizip 除了 zlib 之外的檔案都是從 minizip 來的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.11.247 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1535872116.A.A61.html ※ 編輯: largesperm (114.33.11.247), 09/02/2018 15:11:25
bluesoul: 看起來是link有問題 09/02 15:24
largesperm: 是的 網路上也都是這樣講 但是大家都沒有討論出一個 09/02 15:31
largesperm: 方法 09/02 15:31
largesperm: 晚點我直接把專案上傳再請大家看看 09/02 15:31
※ 編輯: largesperm (114.33.11.247), 09/02/2018 16:02:31
MOONY135: 7z.dll 09/02 16:04
Killercat: 我記得zlib是C寫的 你有extern "C"? 09/02 17:54
Killercat: 以及你的linker flag看看是不是錯了 09/02 17:55
eye5002003: https://tinyurl.com/yb3dmk6x 09/02 18:55
eye5002003: minizip已經幫你包裝到很方便了 09/02 18:56
nobodycares: 有些api的設計是會回傳你"實際壓縮了"多少數據 09/03 20:42
nobodycares: 方便做檢驗跟串流用 09/03 20:43
eye5002003: 你使用VS2015去連2005編的lib?自己編一次zlib吧,你專 09/03 23:25
eye5002003: 案用的zlib可能是release而你專案用debug才出事(也許) 09/03 23:30
firose: dumpbin /exports zlibwapi.lib/dll 沒有 unzOpen64 09/04 07:02
largesperm: 終於懂了 ... 以前 python 拿 script 來擴充就行 09/04 23:01
largesperm: C# 都是用人家做好的 dll C++ 得自己重新 compile 09/04 23:01
uranusjr: 我看了一下 Python zipfile 的解壓縮是純 Python 刻的 09/05 01:27
uranusjr: 這樣你直接參考用 C++ 自己刻一個搞不好最快 09/05 01:28
uranusjr: 刻完之後記得放出來造福世界 (合十) 09/05 01:28
largesperm: 比較之後 單純的檔案壓縮解壓縮 用了 miniz 09/05 10:03
largesperm: cmake 之後 compile 出 lib 就可以用來參考了 09/05 10:04
largesperm: 現在還是有一點很不解 為什麽幾乎每個壓縮解壓縮都是 09/05 10:05
largesperm: 說可以解到 heap or mem 這樣我要怎麼存取解壓出來的 09/05 10:05
largesperm: 檔案 可能我觀念還沒有很好 再研究看看 09/05 10:05
eye5002003: lib不一定要重編,你用gcc的話大概就不會發這一篇了 09/05 10:10
largesperm: 我是這樣想的 C# 的平台很明確是 .NET 所以給 dll 09/05 10:29
largesperm: 就能用 但是 C++ 平台有很多種 所以大多都是看到 09/05 10:30
largesperm: 直接給 .h.c.cpp 然後使用者再拿去自己的平台 compile 09/05 10:31
largesperm: 不然的話 作者就得在每個平台 compile 出 lib 09/05 10:31
largesperm: 這樣想不知道是不是正確的 09/05 10:32
eye5002003: 大多數C/C++專案都是要自己去編,native就是要這樣 09/05 11:07
eye5002003: 對VS使用者來說,作者只提供makefile確實會很頭痛(除非 09/05 11:18
eye5002003: 像lua一樣內容單純),幸好CMake問世了 09/05 11:20