libtorrent file_storage无效:分配错误

libtorrent file_storage invalid : bad allocation

本文关键字:分配 错误 无效 storage file libtorrent      更新时间:2023-10-16

我正在遵循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

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

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

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