无法建立Boost库与海湾合作委员会 [英] Unable to build Boost libraries with GCC

查看:195
本文介绍了无法建立Boost库与海湾合作委员会的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Windows 7 64位,并要编译的非precompiled库(具体而言,我需要的文件系统)通过命令行(我不使用MSVC)。我有MinGW的,但升压网站MSYS壳不支持在读,所以我试图从Windows命令提示符编译库。

I am using Windows 7 64-bit, and want to compile the non-precompiled libraries (specifically, I need Filesystem) from the command line (I do not use MSVC). I have MinGW, but read on the Boost website that MSYS shell is not supported, so I'm trying to compile the libraries from the Windows command prompt.

首先,在下面的错误运行bootstrap.bat结果:

First of all, running bootstrap.bat results in the following error:

Building Boost.Jam build engine 
'cl' is not recognized as an internal or external command, 
operable program or batch file. 

Failed to build Boost.Jam build engine. 
Please consult bjam.log for furter diagnostics. 

You can try to obtain a prebuilt binary from 

   http://sf.net/project/showfiles.php?group_id=7586&package_id=72941

Also, you can file an issue at http://svn.boost.org
Please attach bjam.log in that case. 

另外,没有bjam.log文件中的任何位置BOOST_ROOT目录

Plus, there is not bjam.log file anywhere in the boost_root directory.

忽视这个错误,并试图运行下载的bjam.exe文件,我得到另一个错误:

Disregarding this error, and trying to run the downloaded bjam.exe file, I get another error:

c:/boost_1_45_0/tools/build/v2/build\configure.jam:145: in builds-raw
*** argument error
* rule UPDATE_NOW ( targets * : log ? : ignore-minus-n ? )
* called with: ( <pbin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\address-model64\architecture-x86>has_icu.exe :  : ignore-minus-n : ignore-minus-q )
* extra argument ignore-minus-q
(builtin):see definition of rule 'UPDATE_NOW' being called
c:/boost_1_45_0/tools/build/v2/build\configure.jam:179: in configu
re.builds
c:/boost_1_45_0/tools/build/v2/build\configure.jam:216: in object(
check-target-builds-worker)@409.check

等。有相当多的投诉。设置架构和地址模式选项并不能帮助。

etc. with quite a lot of complaints. Setting the 'architecture' and 'address-model' options doesn't help.

有什么建议?

@Andre

随着安德烈的建议下,我创建了这是一小时半,大部分建库运行的MinGW-bjam的,但不是我需要在这个时刻:文件系统。
试图只编译文件系统,指定版本2 定义=BOOST_FILESYSTEM_VERSION = 2 - 禁用 - filesystem3 做没有帮助。我收到以下错误:

Following Andre's suggestion, I created minGW-bjam that was running for an hour and a half and built most of the libraries, but not the one I need at this moment: Filesystem. Trying to compile only Filesystem, specifying version 2 with define="BOOST_FILESYSTEM_VERSION=2" and --disable-filesystem3 does not help. I get the following error:

gcc.compile.c++ bin.v2\libs\filesystem\build\gcc-mingw-4.5.2\debug\v3\src\operations.o
In file included from ./boost/filesystem/v3/operations.hpp:24:0,
             from libs\filesystem\v3\src\operations.cpp:48:
./boost/filesystem/v3/config.hpp:16:5: error: #error Compiling Filesystem version 3 
file with BOOST_FILESYSTEM_VERSION defined != 3
libs\filesystem\v3\src\operations.cpp:647:26: warning: 
'<unnamed>::create_symbolic_link_api' defined but not used

"g++"  -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -
DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_FILESYSTEM_VERSION=2 -DBOOST_SYSTEM_DYN_LINK=1  -
I"." -c -o "bin.v2\libs\filesystem\build\gcc-mingw-4.5.2\debug\v3\src\operations.o"  
"libs\filesystem\v3\src\operations.cpp"

等。有很多的失败... 语句。

在这里任何提示?

推荐答案

引导程序脚本假设MSVC编译器是可用的。但是你可以建立手工的bjam没有引导脚本:

The bootstrap script assumes the msvc compiler is available. But you can build bjam by hand without the bootstrap script:

步骤进入工具\\编译\\ V2 \\发动机\\ src目录,并呼吁的build.bat MinGW的。这将创建一个bjam.exe。然后,您可以把它放在%PATH%或者在根目录提振...

Step into the tools\build\v2\engine\src directory and call "build.bat mingw". It will create a bjam.exe. You can then put it in your %PATH% or perhaps in the root boost directory...

说实话,我平时建立的bjam这样的MSVC编译器和使用这种MSVC-的bjam打造我的MinGW的Boost库。

To be honest, I usually build bjam like this with the msvc compiler and use this "msvc-bjam" to build my mingw boost libraries.

这篇关于无法建立Boost库与海湾合作委员会的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆