我正在尝试用MSVC 2010编译一个项目,编译还可以,但是当我尝试运行应用程序时,它给了我CRT未初始化的错误。它是一个控制台应用程序,所以我尝试将mainCRTStartup指定为入口点,但它没有帮助。 在同一解决方案中还有其他项目,他们没有这样的问题。我在他们之间看到的区别是,一个不工作的,使用提升。如果这很重要,则提升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
答案 0 :(得分:0)
我认为你应该在启动之前将你的PATH设置为boost / lib,以便它可以找到boost库。
答案 1 :(得分:0)
您是否正在使用/DBOOST_THREAD_USE_DLL /DBOOST_ALL_DYN_LINK
设置进行编译?
如果Boost认为您使用的是静态链接的CRT并且您使用的是MT DLL,则可能会导致此类问题。
还要记得清理和重建。
答案 2 :(得分:0)
对我来说,这很简单:Spy ++是开放的,所以关闭Spy ++解决了这个问题!