【发布时间】:2011-07-15 01:01:35
【问题描述】:
我使用的是 Windows 7 64 位,并且想从命令行编译非预编译库(具体来说,我需要文件系统)(我不使用 MSVC)。我有 MinGW,但在 Boost 网站上看到不支持 MSYS shell,所以我尝试从 Windows 命令提示符编译库。
首先,运行bootstrap.bat会出现如下错误:
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.
另外,在 boost_root 目录的任何地方都没有 bjam.log 文件。
忽略此错误,并尝试运行下载的 bjam.exe 文件,我收到另一个错误:
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
等等。有很多抱怨。设置“架构”和“地址模型”选项没有帮助。
有什么建议吗?
@安德烈
按照 Andre 的建议,我创建了 minGW-bjam,它运行了一个半小时并构建了大部分库,但不是我目前需要的:文件系统。
尝试仅编译文件系统,使用 define="BOOST_FILESYSTEM_VERSION=2" 和 --disable-filesystem3 指定版本 2 无济于事。我收到以下错误:
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"
等等。有很多...failed 声明。
这里有什么提示吗?
【问题讨论】: