问题标签 [boost-build]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
10057 浏览

c++ - 如何使用 Visual Studio 2013 构建 Boost 1.55?

我正在尝试使用 Visual Studio 2013 构建 Boost 1.55。

1) 我尝试使用 boost-binaries ( boost-binaries ),但是当我尝试编译时,Visual Studio 写了这个错误:

错误 LNK1104:无法打开文件“libboost_serialization-vc120-mt-gd-1_55.lib”。我使用了 boost_1_55_0-msvc-12.0-32.exe 或 1.55.0-build2 (boost-binaries)。

我没有在 boost_1_55_0\lib32-msvc-12.0 目录中找到那个 .lib 文件。

2) 我也尝试使用这个程序 BlueGo 0.1.7 ( BlueGo )。它工作得非常顺利,并创建了我需要的所有库。

问题在于它会创建这样的 .lib 文件:

libboost_serialization-vc110-mt-gd-1_55.lib

但是我用的是Visual Studio 2013,需要用vc120版本的编译器代替vc110,否则会报错。

3) 最后我决定自己创建 dll/lib 文件。

我在 boost 站点中使用了以下指南: Simplified Build From Source

如果您希望使用 Visual C++ 从源代码构建,可以使用本节中描述的简单构建过程。打开命令提示符并将当前目录更改为 Boost 根目录。然后,键入以下命令:

上面我写了,我需要做什么。

我启动“VS2012 x86 Native Tools 命令提示符”,将 dir 更改为 boost root 目录并输入命令:

立即我得到了错误:

在日志文件中,我注意到以下错误:

execnt.c(56):致命错误 C1083:无法打开包含文件:'tlhelp32.h':没有这样的文件或目录

bootstrap.log 文件:

我试图检查这个文件是否存在('tlhelp32.h')。我创建了一个项目并包含文件('tlhelp32.h')。它编译没有任何错误。

4)我也尝试重命名

libboost_serialization-vc110-mt-gd-1_55.lib

libboost_serialization-vc120-mt-gd-1_55.lib

但是 Visual Studio 再次抛出错误。

你能告诉我有什么问题以及如何使用 Visual Studio 2013 构建 Boost 1.55 吗?

提前致谢!

0 投票
1 回答
252 浏览

c++ - 是否可以强制 boost-build 将子项目的包含路径添加到主项目中?

我为一个子项目制作了 bjam 文件。这个子项目包含一些源代码和标题。构建的结果是一个静态库。我想从另一个项目中使用这个子项目。有没有办法避免明确指定子项目标头的路径?

例如:

我希望 boost-build 自动将上面的“../headers/include”添加到下一个 jam-file 中。但是现在我需要明确指定它

可能吗?这些果酱文件是从我原来的文件中简化而来的。这些文件对我有用。

PS我在文档中找到了usage-requirements属性,但我没有找到让它工作的方法。我尝试了所有我能想象到的变体。

0 投票
3 回答
15157 浏览

visual-studio-2010 - 错误 LNK1104:无法打开文件“libboost_thread-vc100-mt-gd-1_55.lib”

我正在尝试将 boost 线程的共享库链接到我的应用程序中。

系统:Windows8

IDE:Visual Studio 2010

我使用以下方法构建 boost 库:

我可以看到

和 stage/lib 目录中的其他文件

我在链接器选项中添加了附加库目录和输入的路径:

其他图书馆目录:C:/boost_1_55_0_dyn/stage/lib

输入:C:\boost_1_55_0_dyn\stage\lib\boost_thread-vc100-mt-gd-1_55.lib

我不知道为什么 Visual Studio 正在寻找 libboost_thread-vc100-mt-gd-1_55.lib。我没有在属性或任何地方的任何地方提到 libboost_thread-vc100-mt-gd-1_55.lib。我什至搜索了项目中的所有文件和文件夹,libboost_thread-vc100-mt-gd-1_55.lib 没有在任何地方提及。

0 投票
1 回答
1261 浏览

ubuntu - 如何在 Travis-CI 上使用 boost-build 构建?

我正在尝试在优秀的 Travis-CI 中构建我的项目(我将其用于构建系统为 GNU make 的其他项目)。

我的项目使用boost-build 构建,我正在尝试找到正确的 apt-get 包来使用,但简单的方法boost-build不起作用。有谁知道有包boost-build吗?此外,如果有人知道如何查找可通过 travis-ci 获得的包名称,那将非常有帮助。我相信他们运行我不熟悉的 Ubuntu(我使用 Arch)。

这是我的.travis.yml(如果有帮助的话)

错误很简单:

0 投票
1 回答
344 浏览

c++ - Building a makefile based dependency in a boost-build (b2) project

I am using boost-build to build my project, but I have added a library as a dependency that is built using GNU make. If I build this library manually, I can link it to my project in boost build using this simple Jamfile:

Is there a way to tell boost-build to run make on the directory if the lib/lib.a is not present there?

0 投票
1 回答
206 浏览

bjam - 有没有办法可视化 boost.build 中的依赖关系?

我有一个使用 boost.build 的大型项目。我想要一种查看特定构建目标的依赖关系树的方法。

例如:

exe foo : foo.c /BAR//LIB : /MEOW//PUB ;

foo 的依赖将包括 /BAR//LIB 的所有要求和 /MEOW//PUB 的所有使用要求。

boost.build 中是否内置了此类功能,或者是否有可用的工具来执行此操作?

0 投票
1 回答
384 浏览

c++ - Building Boost library

The problem is I have two versions of Visual Studio (VS 2008 and VS 2012) installed on my PC. I want to build Boost library *.lib files for the older one. Unfortunately bjam.exe automatically compiles binaries for VS 2012. How to change the predefinition of native Visual version?

Thank you.

0 投票
1 回答
130 浏览

boost-build - 如何使 Boost Build 规则的目标名称模板化?

我有一个使用 Boost Build 处理的小型 Jamfile,如下所示:

我觉得我应该能够使用某种模板来做到这一点。我一直在Boost Build 用户手册中四处寻找,但没有找到对我有帮助的语言规则。

可能值得一提的是,我知道更多的代码可能不是最好的解决方案,但我仍然对它是否可以完成感兴趣。它至少在我想编译一个充满单个源文件程序的整个目录的情况下很有用。

0 投票
0 回答
103 浏览

boost-build - 如何从我的 Jamroot 目录之外构建 Boost Build 目标?

Make 有一个命令行选项-C,允许您从特定目录构建一样运行 make。如果您想避免cd在整个文件系统中使用脚本,此选项很重要。

如何使用 Boost Build 完成相同的任务?

0 投票
2 回答
814 浏览

bjam - 使用帮助系统注册命令行参数:Boost-Build

我们正在使用Boost-Build来构建我们的软件。为了帮助实现这一点,我们编写了一个规则和操作库。Boost-Build 允许传入命令行参数,并将传递任何以 . 为前缀的参数--。目前,为了获取参数并检查标志,我们正在执行以下操作:

哪个可以获取和检查值。但是,使用 Boost-Build 和我们的 jam 库的开发人员并不知道这些标志是可用的,并且希望在运行时看到这些标志的一些帮助bjam -hbjam --help. 我看到 BB 有一个帮助模块,但我没有看到任何方法可以在帮助系统中注册参数。

有没有办法注册命令行标志,并附有简短的文档,帮助系统会选择?