0

我正在关注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

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

4

1 回答 1

0

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

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

于 2019-07-24T15:02:59.860 回答