どのようにQtでbootライブラリを使用しますか?

8075 ワード

・最近私達のプロジェクトはbootstライブラリの使用頻度がstlより高いことが分かりましたので、bootライブラリを勉強して、自分の状況に合わせてQt開発を中心としています.そこで、qtでどのようにbootライブラリを使うかを検討しました.
インターネットで多くの資料を調べました.ニックネームはzhangnianyongです.ありがとうございます. のオーディエンスのブログは私に多くの参考を提供してくれました.ここで皆さんと私の収穫と学習の過程を分かち合います.
実際にはqtではbootコンパイル後のスタティックライブラリを使ってもいいです.使う時は該当するヘッダファイルを導入すればいいです.この過程を皆さんと分かち合いましょう.
一、コンパイルbookのソースコードは静的な倉庫です.
          1>あなたのQtのツールディレクトリ(g+.exeがあります)を環境変数に設定します.(私はF:\Qt 592\Tools\mingw 530_32\binです.実際の状況によると)
          2>bookのソースコードをダウンロードし、解凍します.
          3>コマンドラインでブックに入る.1_65_1/tools/build/src/engine
      4>実行 build.bat gccは、現在のディレクトリでbin.ntx 86フォルダを生成します.中には2つのexeファイルb.2 exeが含まれています.bjam.exe
      5>bin.ntx 86\bjam.exeをEにコピーする:\bootst_1_65_1
      6>change dirがbookに入ります.1_65_1
      7>実行コマンド bjam「toolset=gcc」installは、実行命令はCディスクのルートディレクトリの下にBoostフォルダを作成します.私たちが使うヘッドファイルとlibは中にあります.
      8>>7>で生成されたBoostの bootフォルダをqtのincludeの下にコピーします.(私のはF:\Qt 592\5.9.2\mingw 53_32\includeです.)
          9>7>で生成したBoostのlibを、aファイルをqt libディレクトリにコピーします(私のはF:\Qt 592\5.9.2\mingw 53_32\lib).
二、使う
私はコンサート・ソロアプリを作成しました.直接に該当するヘッダファイルを紹介すればいいです.
 
  
#include 
 
  
///[1]        
#include 
#include 
#include 
 
  
int add(int a, int b) {
    return a + b;
}
 
  
int sub(int a, int b) {
    return a - b;
}
 
  
using PTR = int(int, int);
 
  
 
  
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
 
  
    ///[2]   c++11 using (    )
    boost::function<PTR> funObj = boost::bind(add, _1, _2);
    qDebug() << funObj(78, 78);
 
  
    ///[3]   c++11     
    auto funObj2 = boost::bind(sub, _1, _2);
    qDebug() << funObj2(87, 78);
    return a.exec();
}