libtorrent file_storage 无效:错误分配

libtorrent file_storage invalid : bad allocation

我关注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 之前添加的以下语句是 returns 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 创建 torrent。