如何使用 bjam 在 cygwin windows7 i686-w64-mingw32-g++ 中编译 Boost(和



编译提升的问题,

以便在带有jam的cygwin环境中使用它

环境和我的技能

首先感谢您阅读我的消息,我使用 Windows 7 奔腾 i3 cygwin i686-w64-mingw32-g++。我是初学者(10 000行c c ++基本代码,可以在文档中轻松找到或在论坛中更频繁地找到。在这里,我在一周内失败了)我使用朋友给出的魔术行进行编译:i686-w64-mingw32-g++ -g -static main.cpp -I/usr/i686-w64-mingw32/include -L/usr/i686-w64-mingw32/lib -ltesseract -llept -lgdi32 -lws2_32 我只知道 -l 是链接。

上下文

我正在从事一个扑克项目。我有很多(10^7 量级)的概率要计算,需要大量优化。我在这个领域找到了称为扑克炉的参考程序的来源。他们有构建(我的梦想:o)en.wikipedia.org/wiki/PokerStove来源在这里:https://github.com/andrewprock/pokerstove

我做了什么和错误

为了拥有这些增强库,我在文档中提供了:我需要安装提升(标题不够,我需要库)并安装升压(在扑克炉的文档中,他们说在窗口中不容易,我相信:o)我正在尝试使用 bjam(信息来自论坛和官方文档)我有下载boost_1_54_0 sourceforge.net/projects/boost/files/boost/1.54.0/源重命名boost_1_54_0以增强并将其放入 C 中:将所有内容全部放在 C:\boost 中的文件夹中然后我有一个法语教程 http://devtricks.wordpress.com/installer-boost-sous-windows-avec-mingw/我有来自 sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/stats/map 的下载提升-果酱-3.1.17-1-NTX86.zip把它放在 foder C:\boost CD/cygdrive/c 光盘提升 bjam stage --build-type=complete --build-dir="C:\Boost\build" --toolset=gcc --stagedir="C:\Boost"我有 bash: bjam : commande introuvable(法语中的未知命令),所以我在前面加上"./"

我终于有了:

$ ./bjam stage --build-type=complete --build-dir="C:Boostbuild" --toolset=gcc
--stagedir="C:Boost"
warning: mismatched versions of Boost.Build engine and core
warning: Boost.Build engine (C:boostbjam.exe) is 03.1.17
warning: Boost.Build core (at C:/boost/tools/build/v2) is 2011.12-svn
Accès refusé.
Accès refusé.
Accès refusé.
Accès refusé.
C:/boost/tools/build/v2/utilpath.jam:458: in makedirs
rule MAKEDIR unknown in module path.
C:/boost/tools/build/v2/utilpath.jam:456: in makedirs
C:/boost/tools/build/v2/utilpath.jam:456: in path.makedirs
C:/boost/tools/build/v2/buildconfigure.jam:233: in configure.set-log-file
C:/boost/tools/build/v2build-system.jam:695: in load
C:boosttoolsbuildv2/kernelmodules.jam:289: in import
C:boosttoolsbuildv2kernelbootstrap.jam:139: in boost-build
C:boostboost-build.jam:17: in module scope

Accés refusé = 法语中的 acess 拒绝 ^^而且我在本教程的这一步中没有预期的 dll 和 .lib

如果有人有解决方案或想法...谢谢:)如果需要,请随时询问更多信息或进行测试!也请随时告诉我,如果主题不在正确的地方或不遵守标准。

最好的问候,

巴泰勒米

有两个问题一个与Windows 7有关对文件有保护

要删除它:我已经完成了:

 $ chmod -R a+r bin
 $ chmod -R a+x bin

它已修复

"Accès refusé".

第二个问题是:它不适用于 boost 和 bjam 的所有组合。

bjam (3.1.18-1-ntx86) 与 Boost 1.44 工作。使用 MinGW 构建提升 1.45

我在新文件夹"build"中有 14 个目录和 2613 个文件与行:

bjam install --prefix="C:MinGW" --build-type=complete --build-dir="C:Boostbuild" --toolset=gcc --layout=system

要对其进行测试,您可以创建一个文件示例.cpp

#include <boost/regex.hpp>
#include <iostream>
#include <string>
int main()
{
    std::string line;
    boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );
    while (std::cin)
    {
        std::getline(std::cin, line);
        boost::smatch matches;
        if (boost::regex_match(line, matches, pat))
        std::cout << matches[2] << std::endl;
    }
}

和一个文件

邮件.txt

To: George Shmidlap
From: Rita Marlowe
Subject: Will Success Spoil Rock Hunter?
---
See subject.

然后做:

$ g++ exemple.cpp -o exemple.exe -I"C:Boost" -L"C:Boostlib" -lboost_regex-gcc-d-1_44.dll
exemple.exe < mail.txt

我已经用 C:\Boost 编译了libboost_regex-gcc-d-1_44.dll.a

只需从文件名中获取粗体部分即可编译/构建您将拥有:

Will Success Spoil Rock Hunter?

这些信息来自一份法语文件:http://devtricks.wordpress.com/installer-boost-sous-windows-avec-mingw/

最新更新