在Windows上的Linux上交叉编译Boost光纤库

时间:2019-03-17 08:29:31

标签: c++ boost boost-fiber

我正在通过以下方式构建Boost库:

我的〜/ user-config.jam是:

    CREATE TABLE Truck
    (  Plate_No   VARCHAR   PRIMARY KEY,
       Model      VARCHAR  NOT NULL,
       Make       VARCHAR  NOT NULL,
       Year       CHAR(4)       NOT NULL,
       Mileage    VARCHAR  NOT NULL,
       LoadWeight CHAR(5)      NOT NULL,
       Fitness    bit                ,
       DriverID    CHAR(15)     REFERENCES Driver(DriverID),
       price_per_L    CHAR(10)      NOT NULL,
       km_per_L       CHAR(10)      NOT NULL );

     Insert into Truck values ('1082 ZM 98','CF.85410', 'DAF', '1998', '30000', '2550', '1', 'D109', '49.50','3.5');
     Insert into Truck values ('1385 CZ 99','CF.85410', 'DAF', '1999', '14670', '3000', '1', 'D101', '49.50','4');
     Insert into Truck values ('1633 NJ 97','CF.85410', 'DAF', '1997', '25698', '1500', '0', 'D032', '49.50','4.9');
     Insert into Truck values ('1763 ZR 98','CF.85410', 'DAF', '1998', '34564', '1660', '1', 'D345', '49.50','6');



    CREATE TABLE Contract 
     (  ContractID   CHAR(15)     PRIMARY KEY,
        Plate_No     VARCHAR      REFERENCES Truck(Plate_No),
        ClientID     CHAR(15)     REFERENCES Client(ClientID),
        TimeIn       TIME         NOT NULL,
        TimeOut      TIME         NOT NULL,
        DateIn       DATE         NOT NULL,
        DateOut      DATE         NOT NULL,
        No_of_trucks INT          CHECK (No_of_trucks<5),
        litres_of_fuel_needed    CHAR(5)     NOT NULL,
        km_of_journey            char(5)     NOT NULL,
        location                 VARCHAR NOT NULL);

  INSERT INTO Contract VALUES ('C0001', '1082 ZM 98', '102', '10:00', '16:00','18-01-2019', '18-01-2019', '1', ' ', '47.5', 'Savannah Sugar Factory Omnicane');
  INSERT INTO Contract VALUES ('C0002', '1763 ZR 98', '103', '13:00', '20:00','15-01-2019', '15-01-2019', '1', ' ', '18.7', 'CMT, Vacoas-Phoenix');
  INSERT INTO Contract VALUES ('C0004', '1385 CZ 99', '104', '08:00', '13:00', '11-01-2019', '11-01-2019', '1', ' ', '57.6', 'SSR International Airport');
  INSERT INTO Contract VALUES ('C0003', '1763 ZR 98', '105', '21:00', '07:00', '21-01-2019', '22-01-2019', '1', ' ', '25.2', 'Cascavelle Shopping Village');


    CREATE TABLE Payment_info
       (  ClientID   CHAR(15)  NOT NULL,
          ContractID CHAR(15)  NOT NULL,
          Price      CHAR(10)  NOT NULL,
          Payment_method  VARCHAR NOT NULL,
          PRIMARY KEY (ClientID, ContractID));

Insert into Payment_info values ('102','C0001','','Cheque');
Insert into Payment_info values ('103','C0002','','Cash');
Insert into Payment_info values ('104','C0004','','Card');
Insert into Payment_info values ('105','C0003','','Cash');

使用以下标志开始构建过程:

using gcc : : /mxe/usr/bin/x86_64-w64-mingw32.static.posix-g++ : <compileflags>-W <compileflags>-Wall <compileflags>-std=c++11 <compileflags>-pedantic ;

这可以很好地构建大多数库,但是不能构建光纤库。相关输出:

./b2 --user-config=/home/cuser/user-config.jam variant=release link=static threading=multi define=BOOST_LOG_USE_COMPILER_TLS threadapi=win32 target-os=windows architecture=x86 address-model=64 abi=ms binary-format=pe  cxxflags=-std=c++11 --without-python --debug-building

1 个答案:

答案 0 :(得分:0)

据报道,似乎是这样的构建错误: https://svn.boost.org/trac10/ticket/12520

如果删除了光纤的c ++ 11要求(而不是numa!),则光纤交叉编译就可以了