2012-03-07 3 views
2

で終了しましたprogram.exe:Native 'はコード255(0xff)で終了しました。PROGRAM.EXE:ネイティブは」私はブーストスレッドを使用しています、および/ MDでコンパイルするとき、すべてが完璧に動作しますが、私は本当に私がその後、取得問題の代わりに/ MTで</p> <p>をコンパイル好むコード255(0xffの)

これは、この行で発生:

thread_1 =スレッド(testThread、テスト)。

深く掘り下げた後、私は問題が_crtheapが0に等しいという事実を認識しました。つまり、初期化されていません。 mlock.c

/* 
    * Check if CRT is initialized. The check if _crtheap is initialized 
    * will do the job. More over we had to add this test in initlocks because 
    * in debug version we don't endup calling lock before calling malloc_base, 
    * where we check for crtheap. 
    */ 
    if (_crtheap == 0) { 
     _FF_MSGBANNER(); /* write run-time error banner */ 
     _NMSG_WRITE(_RT_CRT_NOTINIT); /* write message */ 
     __crtExitProcess(255); /* normally _exit(255) */ 
    } 

に見られるように

ので、今、私は問題が何であるかを知っているが、私の人生のために私は

ブーストのように構築され、それを修正する方法を見つけ出すことはできませんこの(を要求++の.libのMSVCを与え、この特定のコンパイル、用)

bjam toolset=msvc-10.0 variant=debug threading=multi link=static runtime-link=static 
+0

完全な例を教えてください。 –

答えて

0

は、ブラウン管のしゃっくりとの古典的なミックスとして私には思える:

  1. ブーストライブラリは
  2. (いわゆる/ MDスイッチを使用して)、静的なデバッグCRTにリンクされているアプリケーションは、(いわゆる/ MTスイッチを使用して)、静的リリースCRTに対してリンクされて

てみてください。このレシピを使用してブーストライブラリを再コンパイルする

bjam toolset=msvc-10.0 variant=release threading=multi link=static runtime-link=static 
関連する問題

 関連する問題