Libtorrent-rasterbar और QGui आवेदन के साथ मेमोरी भ्रष्टाचार

मैं अपने Qt5 एप्लिकेशन में libtorrent का उपयोग करने की कोशिश कर रहा हूँ लेकिन segfaults प्राप्त करते रहें मॉलोक (): मेमोरी भ्रष्टाचार जैसे संदेशों के साथ। डेबगिंग के घंटों के बाद मैं कोड के इस छोटे टुकड़े के साथ आता हूं जो इस समस्या को ट्रिगर करता है:

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);
    std::string filename = "fedora.torrent";
    libtorrent::error_code ec;
    libtorrent::add_torrent_params parameters;
    std::cerr << "111\n";
    parameters.ti = new libtorrent::torrent_info(filename, ec);;
    std::cerr << "222\n";
    return app.exec()
}

इस मामले में torrent_info का निर्माता segfault उत्पादन करता है। लेकिन अगर मैं QGui आवेदन के निर्माण से पहले libtorrent संबंधित कोड को स्थानांतरित करता हूं:

int main(int argc, char *argv[])
{
    std::string filename = "fedora.torrent";
    libtorrent::error_code ec;
    libtorrent::add_torrent_params parameters;
    std::cerr << "111\n";
    parameters.ti = new libtorrent::torrent_info(filename, ec);;
    std::cerr << "222\n";
    QGuiApplication app(argc, argv);
    return app.exec()
}

तो यह ठीक काम करता है। यह समस्या केवल 32-बिट बिल्ड में मौजूद है, 64-बिट निर्माण में दोनों प्रकार समान कार्य करते हैं।

0
जोड़ा संपादित
विचारों: 1

कोई जवाब नहीं है

0