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

时间:2013-09-16 21:01:22

标签: c++ visual-c++ libtorrent

我一直潜伏着stackoverflow一年多了,我终于遇到了一个问题,我似乎无法幸运。我正在尝试构建一个简单的概念验证应用程序,在我尝试任何复杂的操作之前使用libtorrent。我可以使用bjam很好地构建示例,我可以通过修改bjam文件来编译并运行得很好,使用我自己的简单应用程序(simple_client.cpp的克隆)。但我宁愿不使用bjam来锚定,所以有人可以帮助我使用MSVC命令行编译示例吗?我尝试过以下命令的变体

cl -D _WIN32_WINNT=0x0501 -D TORRENT_WINDOWS=1 /EHsc /I C:\Libs\boost_1_54_0\      torrenter.cpp /I C:\Libs\libtorrent-rasterbar-0.15.6\include\libtorrent /I C:\Libs\libtorrent-rasterbar-0.15.6\include\ /I C:\Libs\libtorrent-rasterbar-0.15.6\zlib /link /LIBPATH:C:\Libs\boost_1_54_0\lib

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

我安装了1.54.0升级版,libtorrent 0.15.6版和MSVC Express 2012版,我在64位窗口上。

非常感谢你们给予的任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

如果你使用附加参数“-an”调用bjam,它将打印出它正在执行的所有命令行,而不是构建。这可能很有用。 -a意味着无条件地重建所有,-n意味着打印出命令行而不是执行它们。

但是,由于Windows shell中的命令行长度有限,因此强制使用响应文件。这意味着如果没有为大量参数打开一个.rsp文件,您将无法获得命令行的完整视图。