2010-09-07 8 views
6

मैं एक छोटा, क्रॉस-प्लेटफ़ॉर्म कॉमिक बुक रीडर (क्यूटी/सी ++) लिखने की कोशिश कर रहा हूं। मुझे परवाह नहीं है कि पहले से क्या बाहर है, मुझे पता है कि कुछ हैं।मैं रार/ज़िप फ़ाइलों (सी ++) निकालने के लिए 7z एसडीके का उपयोग कैसे करूं?

मेरी समस्या यह है कि मुझे कॉमिक बुक प्रारूपों को पढ़ने की जरूरत है, जिनका नाम बदलकर रार और ज़िप फाइलें हैं।

प्रलेखन बहुत है ... nonexistent? कोई भी "हैलो संग्रह" दस्तावेज़ नहीं है। मैं इसे कैसे सेट अप कर सकता हूं?

यदि यह मानना ​​आसान बनाता है कि मैं किसी विशेष ओएस पर हूं, तो ऐसा करें। मैं लगातार काम के लिए कुबंटू, ओएसएक्स, और विन 7 के बीच स्विच कर रहा हूं।

+0

"हैलो संग्रह": डी – foraidt

+0

http://quazip.sourceforge.net/ –

उत्तर

3

7z वास्तव में कमांडलाइन संस्करण और एक जीयूआई संस्करण के लिए दोनों स्रोतों के साथ आना चाहिए, आप उन लोगों में खोद सकते हैं और देख सकते हैं कि वे संपीड़न कैसे करते हैं, अन्यथा आप unRar का उपयोग कर सकते हैं और देख सकते हैं कि इसमें कोई उदाहरण है (दुर्भाग्य से मैं कर सकता हूं डाउनलोड के कारण अवरुद्ध होने की वजह से जांच न करें)।


आसपास LMZA एसडीके एक सा मैं इस में आए Poking:

एएनएसआई-सी LZMA डिकोडर

~~~~~~~~~~~~~~~~ ~~~

कृपया ध्यान दें कि एएनएसआई-सी कोड के लिए इंटरफेस एलजेएमएमए एसडीके 4.58 में बदल दिए गए थे। यदि आप पुरानी इंटरफेस का उपयोग करना चाहते हैं तो आप स्रोतforge.net साइट से LZMA SDK के पिछले संस्करण को डाउनलोड कर सकते हैं।

एएनएसआई-सी LZMA डिकोडर का उपयोग करने के लिए आप जरूरत निम्न फ़ाइलें: 1) LzmaDec.h + LzmaDec.c + Types.h

LzmaUtil/LzmaUtil.c उदाहरण इन फ़ाइलों का उपयोग करता है अनुप्रयोग है।

4

मैं 7zip एसडीके के लिए एक साधारण सी ++ रैपर पर काम कर रहा हूं, जिसे आप here पा सकते हैं। यह वर्तमान में केवल विंडोज और विशिष्ट जरूरतों का समर्थन करता है, लेकिन मुझे कुछ बदलाव करने और/या योगदान स्वीकार करने में खुशी होगी। यह 7z.dll का उपयोग कर कोड की कुछ पंक्तियों में 7 ज़िप और ज़िप फ़ाइलों को निकाल सकता है। डीएलएल इसका समर्थन करने के बाद आरएआर को जोड़ना मुश्किल नहीं होना चाहिए।

+0

क्या आप जानते हैं कि यह कैसे हल करने के लिए कार्य करें: 'गंभीर त्रुटि C1900: 'P1' संस्करण '20,100,826' और के बीच इल बेमेल ' SevenZip ++ पर P2 'संस्करण' 20070207' त्रुटि? – Rookie

+0

मुझे डर है कि मुझे यह त्रुटि नहीं पता है, लेकिन थोड़ा सा गूंजना ऐसा लगता है जैसे यह आपके विजुअल स्टूडियो इंस्टॉलेशन के साथ एक समस्या हो सकती है। – Chadwick

0

QArchive आज़माएं, यह गैर-अवरुद्ध Qt C++ API प्रदान करने के लिए libarchive के आसपास लपेटता है। QArchive एक सी ++ क्रॉस-प्लेटफार्म सहायक लाइब्रेरी है जो क्यूटी 5 का उपयोग करके लिबरैचिव को आधुनिक बनाती है। बस libzive द्वारा 7z, ज़िप, Tarballs, आरएआर और अन्य समर्थित प्रारूप निष्कर्ष निकालें।

अधिक जानकारी और दस्तावेज़ीकरण के लिए रेपो पर जाएं!

किसी भी संग्रह को निकालने के लिए!

#include <QCoreApplication> 
#include <QDebug> 
#include "QArchive.hpp" 

int main(int argc , char** argv){ 
    QCoreApplication app(argc , argv); 
    QArchive::Extractor Archiver("somefile.zip"); 

    // connect callback 
    QObject::connect(&Archiver , QArchiver::Extractor::extracted , [&](QString file) 
    { 
      qDebug() << "extracted :: " << file; 
      app.quit(); 
    }); 

    // Start Extraction 
    Archiver.start(); // never use run 

    qDebug() << "This is non-blocking!"; 

return app.exec(); 
} 
संबंधित मुद्दे