0

我已经潜伏了一年多的stackoverflow,我终于遇到了一个我似乎没有任何运气的问题。在尝试任何复杂的事情之前,我正在尝试构建一个使用 libtorrent 的简单概念验证应用程序。我可以使用 bjam 很好地构建示例,并且通过修改 bjam 文件,我可以使用一点 hack 让我自己的简单应用程序(实际上是 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 的预处理器定义有关,但我真的不知道我需要给它什么。

我已经安装了 boost 1.54.0、libtorrent 0.15.6 和 MSVC Express 2012 版,而且我在 windows 7 64 位上。

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

4

1 回答 1

0

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

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

于 2013-09-18T09:16:48.377 回答