我正在使用 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,它运行了一个半小时并构建了大部分库,但不是我现在需要的:Filesystem。试图只编译文件系统,指定版本 2define="BOOST_FILESYSTEM_VERSION=2"
并--disable-filesystem3
没有帮助。我收到以下错误:
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
陈述。
这里有什么提示吗?