3

我正在尝试使用 MSVC 2010 编译一个项目,编译正常,但是当我尝试运行该应用程序时,它给了我 CRT 未初始化错误。它是一个控制台应用程序,所以我尝试将 mainCRTStartup 指定为入口点,但它没有帮助。在同一个解决方案中还有其他项目,他们没有这样的问题。我看到它们之间的区别是一个不工作的,使用 boost。如果这很重要,请升级 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

你是用/DBOOST_THREAD_USE_DLL /DBOOST_ALL_DYN_LINKset编译吗?

如果 Boost 认为您使用的是静态链接 CRT 并且您使用的是 MT DLL,则可能会导致此类问题。

还要记得清理和重建。

于 2012-01-24T15:17:59.997 回答
0

我认为您应该在启动之前将 PATH 设置为 boost/lib 以便它可以找到 boost 库。

于 2011-12-15T14:17:03.430 回答