【问题标题】:libtorrent file_storage invalid : bad allocationlibtorrent file_storage 无效:分配错误
【发布时间】:2019-12-01 18:34:07
【问题描述】:

我关注libtorrent-maketorrent-example

我正在使用以下参数运行客户端

.\client.exe "base_text.txt" -o base_text.torrent -l

file_storage 使用默认构造函数声明如下

    lt::file_storage fs;

程序在尝试添加文件时抛出异常

lt::add_files(fs, full_path, file_filter, flags);

我猜这个问题可能是因为 file_storage 无效,因为我在调用 lt::add_files 之前添加的以下语句返回 false 即 0

std::cout << "Is file storage valid : " << fs.is_valid()<< std::endl;

我得到了 lt::add_files 的错误分配异常

Args[1]= base_text.txt
Is file storage valid : 0
ERROR: bad allocation

完整路径为C:\workspace\Project1%20POC\client\base_text.torrent

我该如何解决这个问题?难道我做错了什么?

【问题讨论】:

    标签: c++ file-storage libtorrent libtorrent-rasterbar


    【解决方案1】:

    问题是文件路径包含 % 项目文件夹名称为 Project1%20POC 我将其重命名为 Project1-POC 并确保完整路径少于 260 个字符,这是 Windows 中的默认阈值。

    现在lt::add_files 不会抛出错误分配异常,下一行lt::create_torrent 创建种子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-02
      • 2014-05-02
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多