3

MSVC 2010 で 1 つのプロジェクトをコンパイルしようとしています。コンパイルは問題ありませんが、アプリを実行しようとすると、CRT が初期化されていないというエラーが表示されます。コンソールアプリなので、mainCRTStartup を Entry Point に指定してみましたがダメでした。同じソリューションには他のプロジェクトがあり、そのような問題はありません。私が見た違いは、機能していないものはブーストを使用していることです。これが重要な場合は、v1.38.0 をブーストしてください。ランタイム ライブラリはマルチスレッド DLL です。

リンカのコマンド ラインは次のとおりです。

/OUT:"D:\temp\ghost\Release\ghost.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"..\zlib\lib" /LIBPATH:"..\mysql\lib\opt" /LIBPATH:"..\boost\lib" "ws2_32.lib" "winmm.lib" "zdll.lib" "StormLibRAS.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" "D:\temp\ghost\bncsutil\vc8_build\Release\BNCSutil.lib" /MANIFEST /ManifestFile:"Release\ghost.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"D:\temp\ghost\Release\ghost.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /PGD:"D:\temp\ghost\Release\ghost.pgd" /LTCG /TLBID:1 /ENTRY:"mainCRTStartup" /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEUE
4

3 に答える 3

0

私にとって、これは非常に単純でした。Spy++が開いていたので、Spy++をシャットダウンすると問題が解決します。

于 2012-12-13T11:02:31.983 に答える
0

ブーストライブラリを見つけることができるように、起動する前に PATH を boost/lib に設定する必要があると思います。

于 2011-12-15T14:17:03.430 に答える
0

/DBOOST_THREAD_USE_DLL /DBOOST_ALL_DYN_LINKセットでコンパイルしていますか?

静的にリンクされた CRT を使用していて、MT DLL を使用していると Boost が判断した場合、この種の問題が発生する可能性があります。

また、クリーニングと再構築を忘れないでください。

于 2012-01-24T15:17:59.997 に答える