使用 bjam 构建基本的 Boost 应用程序
我可以找到大量有关 Boost.Build 的通用文档,但令人惊讶的是,没有任何关于如何使用它来构建简单的 Boost 应用程序的文档。
我用 bjam 编译了 mingw 的 Boost,获取了所有库并包含在 C:\Boost 中。 现在使用这一切的基本 Jamroot 文件会是什么样子?
这些库都有复杂的名称,例如“libboost_filesystem-mgw34-mt-s.lib”,我确信某个地方有某种神奇的开关可以直接说“链接到 libboost_filesystem”!
I can find tons of general purpose documentation on Boost.Build, but surprisingly nothing on how to use it to build simple Boost applications.
I compiled Boost for mingw with bjam, got all the libraries and includes in C:\Boost. Now what would a basic Jamroot file look like to use all this ?
The libs all have complicated names like 'libboost_filesystem-mgw34-mt-s.lib', I'm sure there is some kind of magic switch somewhere to just say 'link against libboost_filesystem' !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当然有捷径! 示例项目可能如下所示:
从项目目录中的所有 .cpp 文件并使用 Boost.Filesystem 创建可执行文件。
然后你不需要手动构建任何 boost 库,bjam 会根据需要自行处理。 这也将确保您的应用程序始终与使用正确选项编译的 boost 库链接。
为了准备使用 Boost.Build 的环境,需要做一些初始配置工作,例如为了方便而创建 user-config.jam、boost-build.jam 和 jamroot(例如
use-project / boost :/path/to/boost
语句)。 但这是一次性的努力,之后事情就会比以前容易得多。http://www.boost.org/boost-build2/doc/html /index.html
Of course there are shortcuts! An example project could look like:
Making an executable from all .cpp files in the project's directory and using Boost.Filesystem.
Then you don't need to build any of boost libraries manually, bjam will take care of that itself as necessary. That will also ensure your app always links with the boost libraries compiled with the right options.
There is some initial configuration effort to be done to prepare an environment for using Boost.Build, such as creating a user-config.jam, a boost-build.jam and a jamroot for convenience (having e.g.
use-project /boost : /path/to/boost
statement). But that's a one-time effort and after that things are much easier than before.http://www.boost.org/boost-build2/doc/html/index.html
没有必要以任何方式使用 bjam 来构建与 boost 一起工作的代码。
因此,可以使用 gmake、批处理脚本、IDE,或者任何你喜欢的东西。 bjam 是更难的选择之一,正如您所发现的,文档很差。
有一个非常基本的教程:
http:// www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html
或
http://www.boost.org/doc/libs/1_39_0/more/getting_started/windows.html
It's not necessary in any way to use bjam in order to build code that works with boost.
Thus, use gmake, or batch scripts, or an IDE, or whatever you like. bjam is one of the harder choices as like you've found, the documentation is poor.
There is a very basic tutorial at:
http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html
or
http://www.boost.org/doc/libs/1_39_0/more/getting_started/windows.html