我正在继承一个使用bjam和boost-python构建一些用C++编写的Python模块的项目。Jamroot之前包含:constantPYTHON_ROOT:C:/Python26;usingpython:2.6:$(PYTHON_ROOT);use-projectboost:C:/boost_1_40_0;我安装了Python2.7,所以我将其更改为:usingpython:2.7:C:/Python27;然后我运行了bjam--toolset=msvc--with-python,它失败了(在一组非常缓慢的“...patience...”消息之后)因为它不能找到pyconfig.
这是我目前用来构建测试的Jamfile。exefile_test:file_test.cpp../src/file.hpp../src//file:--std=c++11:-ltag;有没有什么方法可以在不特定于gcc的情况下切换到c++11标准?是否有任何可移植的可能性为bjam提供链接标志(或者这是一种可移植的方式?)?我知道我可以编写条件参数,但这意味着我必须为我想要支持的任何编译器编写参数。因此,我希望bjam对此有解决方案。另外我想知道在调用“bjamclean”后不删除“bin”目录是否有意义。 最佳答案 可以看看her
b2releaselink=statictoolset=clang有效,但它没有显示我认为在clang的输出中有用的漂亮颜色。 最佳答案 免责声明:这不是解决您问题的答案,但将其放在评论中会占用太多空间。这是一个简短的Holmesian消除过程。一、根据Clangdocumentation,color仅在检测到具有颜色功能的终端时才启用。其次,根据Boost.Jamdocumentation,所有环境变量都会自动导入到其内置的.ENVIRON模块中。最后,您确实有一个支持颜色的终端。然而它不起作用。甚至使用显式Clang命令行参数来
我正在尝试关注thistutorial关于为Windows的python包装C++代码。我安装了python。下载了最新版本的boost(1_55)。首先我运行bootstrap.bat来构建bjam.exe。接下来,我配置了boost_1_55_0\tools\build\v2\user-config.jam使用msvc10编译器并添加了python安装路径。现在,基于教程:Nowweareready...Besuretocdtolibs/python/example/tutorialwherethetutorial"hello.cpp"andthe"Jamroot"issituat
尝试使用MinGW在WindowsXP上编译Boost1.45。我一年前做过,差点忘了怎么重复。%PATH%包含MinGW路径。user-config.jam包含usinggcc;bjam(ntx86之一)来自here.输出:>bjam--build-dir="E:\Boost"--build-type=completetoolset=gccstage/tools/build/v2/build\configure.jam:145:inbuilds-raw***argumenterror*ruleUPDATE_NOW(targets*:log?:ignore-minus-n?)*call
我(再次)遇到boost库的问题,特别是zlib/iostreams部分,这是(再次)到期的errorsinthatreleaseofboost-zlib库中有一些更改未反射(reflect)到该boost版本中。我不是唯一遇到这个问题的人,但我似乎是唯一一个不知道每个人都在谈论的bjam.exe是什么的人,就好像它是内置的一样Windows上的命令。显然,Imyselfusedthatcommandinthepast,但那是2年前的事了。我试过这个:http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/但我得到的只是
抱歉,如果这个问题已经被问过?我从源代码构建了boost,但一直对构建工具感到困惑。从头开始构建boost库时应该使用哪个工具。对我来说,似乎bootstrap.sh用于创建bjam可执行文件,然后bjam应该用于进行实际构建。但是,我注意到您可以将许多参数传递给bootstrap.sh,例如要使用的工具集(编译器)和要构建的库等...并使用bootstrap.sh启动构建此外,至少有三种不同的方式来启动构建:./bootstrap.sh、bjam、b2有人能总结一下每个的目的吗,因为在线文档似乎没有解释这一点谢谢!安华 最佳答案
我正在使用bjam为intel编译器和vs2008构建boost库,但我不知道从bjam传递给编译器的优化是什么。对于其中一个编译器的gcc,我可以在其中一个bjam文件中看到一些优化,但我找不到我关心的编译器的优化标志。所以,我的问题是-有谁知道默认优化标志位于何处?如果它们在bjam中声明,有人知道我如何覆盖它们吗? 最佳答案 如果您有兴趣查看在构建时传递给调用编译器的整套选项,您可以运行bjam与-n-a选项和其余构建选项,为您提供调用的完整命令集以及生成的任何响应文件(请参阅BoostJamOptions)。您也可以直接查看
我使用b2.exe和bjam.exe为VS2013构建了64位架构的Boost。根据Boostdocumentation,b2必须在bjam上使用。我注意到的差异是:b2中的.lib文件的大小与相应的bjam文件的大小不同。使用bjam提供动态.lib库(不带-s标记,如here所述),但它不提供要链接到的.dll文件(那么现在该怎么办?),而使用b2会同时提供静态库和动态库以及.dll文件。但使用b2的问题是,它提供了两个动态.lib文件-一个以boost_xxxx.lib开头,另一个以libboost_xxxx.lib开头,两者大小不同。这是为什么?我还提到了使用构建选项--bui
我希望为一个主要用C++编写的项目集成一个重要的跨平台构建系统。到目前为止,我已经评估了Cmake和Scons,虽然它们都代表了对(GNU)make的改进,但在context我正在尝试使用这些工具。这让我想到了BoostBuild(Bjam),我感到鼓舞的是,鉴于我的项目依赖于Boost,bjam应该可用于任何可行的目标平台已经。我在尝试为库的单元测试巧妙地集成代码覆盖时遇到了困难……以期最终集成到诸如Jenkins之类的构建服务器中。虽然我愿意接受Bjam最佳/标准实践的指导,但我认为我需要三个不同的“变体”:release-仅构建优化的静态库调试-构建未优化的静态库和单元测试覆盖率