使用命令行 MSVC 2012 编译 libtorrent 示例

Compile libtorrent examples with command line MSVC 2012

本文关键字:编译 libtorrent 示例 2012 MSVC 命令行      更新时间:2023-10-16

我已经潜伏了一年多了,我终于遇到了一个我似乎没有任何运气的问题。在尝试任何复杂的事情之前,我正在尝试构建一个简单的概念验证应用程序,该应用程序使用 libtorrent。我可以使用 bjam 很好地构建示例,并且我可以通过修改 bjam 文件来使用一些技巧来编译和运行我自己的简单应用程序(实际上是simple_client.cpp的克隆)。但是我宁愿不使用 bjam 锚定下来,所以任何人都可以帮助使用 MSVC 命令行编译示例吗?我尝试了以下命令的变体

cl -D _WIN32_WINNT=0x0501 -D TORRENT_WINDOWS=1 /EHsc /I C:Libsboost_1_54_0      torrenter.cpp /I C:Libslibtorrent-rasterbar-0.15.6includelibtorrent /I C:Libslibtorrent-rasterbar-0.15.6include /I C:Libslibtorrent-rasterbar-0.15.6zlib /link /LIBPATH:C:Libsboost_1_54_0lib

但我遇到了各种错误,例如重新定义的函数等。我有一种感觉,这与我需要输入 cl 的一些预处理器定义有关,但我真的不知道我需要给它什么。

我已经安装了boost 1.54.0,libtorrent 0.15.6和MSVC Express 2012版本,我在窗口7 64位上。

你们能提供的任何帮助将不胜感激,谢谢!

如果你使用额外的参数"-an"调用bjam,它将打印出它正在执行的所有命令行,而不是构建。这可能很有用。-一种无条件重建所有方法的方法,-n 表示打印出命令行而不是执行它们。

但是,鉴于 windows shell 中的命令行长度有限,它被迫使用响应文件。这意味着如果不同时打开大部分参数的 .rsp 文件之一,您将无法获得命令行的完整视图。