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运行程序对病毒木马是否有点作用呢?
还是去掉限制好了,因为有些程序确实会用到。)
放开权限就好了。
bjam编译boost失败及原因
原创wx648abf25141f7 博主文章分类:C/C++ ©著作权
©著作权归作者所有:来自51CTO博客作者wx648abf25141f7的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
boost 编译
boost 编译
boost 编译 -
CMake搜索Boost1.57失败及解决
CMake更新到3.1.0,Boost更新
CMake 搜索 环境变量 -
艰苦的编译boost python (失败)python bootstrap 环境变量
-
use bjam
use bjamcopy bjam.exe to C:\boost_1_41_0\build\v2write file 1.1.bat:rem call "c:\Program Files\Microsoft Visual Studio
html c++ microsoft ide bootstrap