bjam编译boost失败及原因
(转载请注明来源于金庆的专栏)
用bjam在各种环境下编译Boost , 没有十次也有八次了,
但是前两天在一台XP上编译时,竟然失败。
查看输出,竟然是在创建目录时失败。信息如下:
MkDir1 stage
mkdir "stage"
...failed MkDir1 stage...
...skipped stage/lib for lack of stage...
因为是用mingw的gcc编译,开始时以为是mingw的环境有问题,
实际结果是找错了方向。
mingw已经有过成功先例,而且新装一台机器后编译也成功了。
Google类似错误也没有什么线索。
变通方法是用bjam -n打印出所有命令到一个批处理文件,
然后执行批处理来编译。
用该方法创建了所有的目录,使MkDir1规则通过了,
但是下一个错误是common.copy规则,看来所有的命令都会出错。
但是不甘心用这个方法,不能向错误屈服。
最后还是在bjam的源代码中找到了线索。
原来一条规则会建立一个命令,
然后在NT上会在用户的Temp目录下创建一个临时bat文件,
运行该bat文件执行命令。
使用bjam -d2或-d3,-d4可以打印出1到2、3、4级的调试信息,
在4级信息内可以看到创建并运行的临时批处理。
因为该机器在很早以前被我设置权限,禁止了在Temp运行程序的权力,
所以产生了这个错误。
(禁止Temp运行程序对病毒木马是否有点作用呢?
还是去掉限制好了,因为有些程序确实会用到。)
放开权限就好了。
分享到:
相关推荐
boost1.55编译生成的bjam.exe和b2.exe
编译boost库使用的工具,codeblock下编译boost库。
bjam 是专门为boost库设计的make编译工具,功能非常强大
安装bjam编译环境所需要的源码包,过程记录可参见本人博客
最近项目使用c++操作Python...换到另外一台机器,重新下载boost,使用以下命令,顺利编译成功 ./bootstrap.sh --with-python=/usr/bin/python ./bjam --build-type=minimal --with-python variant=release link=static
编译Boost 1:从官方网站(http://www.boost.org/)上下载某一版本的Boost,比如我下载的boost_1_68_0.tar.gz的版本. 2:将下载好的boost_1_68_0.tar.gz解压到某一路径下(比如:E:\boost_1_68_0)。 3:打开CMD...
搞了三四个小时,才终于搞懂了怎么生成这个东西。绝对可用,下载下来放到自己的boost文件夹下即可,然后就能点击它进行编译了!
编译完成的bjam.exe文件. 放到boost目录下在命令行运行
2、运行上面那个脚本之后,会有一个bjam.exe,运行,此时进行编译和安装,大概十几分钟左右 3、在工程中设置工程属性来使用boost库 工程属性----------C/C++----------附加包含目录:D:\boost_1_61_0(此处就是你的...
address-model=32表示生成的库为32位,64就表示64位,具体根据需求情况定,我们编译的是32位,继续在窗口里输入:bjam --toolset=
编译方法很简单,打开vs2017的x64本机工具,然后cd到解压的boost目录,运行bootstrap.bat,运行完成后再运行bjam.exe即可,运行完成后一般会生成stage目录,其中的lib即为对应的库,没有任何设置的应该生成的是纯...
然后你需要安装 boost-bjam 因为编译脚本是以 boost-bjam 风格编写的。 (关于boost编译系统的更多信息,可以到) 这两件事完成后,就可以下载ios-push-service代码并编译安装了。 编译 libcapn 使用 git 从克隆 ...
E:\192.168.6.44\boost_1_64_0(文件太大需自个编译,指令bjam stage --toolset=msvc-14.0 --stagedir="E:\192.168.6.44\boost_1_64_0\build\vc140" --build-type=complete) E:\44share\mysqlcpp\windows\mysql-...
graphMT是用于基于图的机器翻译的软件包。... 如果构建自己的Boost,则必须使用bjam install 较早版本的Boost可能会起作用 建造 编辑Makefile中的以下字段: CCFLAGS : -std=c++11或-std=c++0x取决于您的编译器 EIG