我在MVS 2013上使用了最新的英特尔编译器。我正在开发一个小应用程序,它目前包含一个具有主要功能的静态库(9个类)和一个用于测试前者的单文件控制台可执行文件。我决定在发布配置下构建应用程序,以了解它将变得多快。
问题是当静态库构建相当迅速地生成13 MB .lib文件(也就是说,正如我发现的那样,正常),可执行文件需要很长时间。我把它留在了一夜之间,它仍然没有完成(目前超过12小时)。除了mcpcom将其内存使用量缓慢增加到目前的1GB之外,没有明显的进展。
静态库编译设置:
/ MP / GS / GA / W3 / Gy / Zc:wchar_t / Zi / O2 /Fd"Release\vc120.pdb“/ Qvec-report1 / D”WIN32“/ D”NDEBUG“/ D”_LIB“/ D“_UNICODE”/ D“UNICODE”/ Qstd = c ++ 11 / Qipo / Zc:forScope / Gd / Oi / MD / Fa“Release \”/ EHsc / nologo / Fo“Release \”/ Fp“Release \ MyApplication_library .PCH“
可执行编译选项:
/ MP / GS / GA / W3 / Gy / Zc:wchar_t / I“C:\ Work \ MyApplication \ MyApplication_library”/ Zi / O2 /Fd"Release\vc120.pdb"/Qvec-report1 / D“_UNICODE “/ D”UNICODE“/ Qstd = c ++ 11 / Qipo / Zc:forScope / Gd / Oi / MT / Fa”Release \“/ EHsc / nologo / Fo”Release \“/ Fp"Release\MyApplication_test.pch”
链接器选项
/ OUT:“C:\ Work \ MyApplication \ Release \ MyApplication_test.exe”/ MANIFEST / NXCOMPAT / PDB:“C:\ Work \ MyApplication \ Release \ MyApplication _test.pdb”/ DYNAMICBASE“kernel32.lib”“ user32.lib“”gdi32.lib“”winspool.lib“”comdlg32.lib“”advapi32.lib“”shell32.lib“”ole32.lib“”oleaut32.lib“”uuid.lib“”odbc32.lib“” odbccp32.lib“”C:\ Work \ Speedsim30 \ Release \ MyApplication_Controller.lib“/ LTCG:STATUS / MACHINE:X86 / OPT:REF / SAFESEH / MANIFESTUAC:”level ='asInvoker'uiAccess ='false'“/ ManifestFile: “Release \ MyApplication_test.exe.intermediate.manifest”/ OPT:ICF / NOLOGO / TLBID:1
我的个人电脑具有强大的硬件配置,配备Intel i7-4770K,8 GB DDR3-2133和RAID0中的2个SSD
提前谢谢
答案 0 :(得分:0)
我发现问题出现在/ MT和/ MD不匹配的库和可执行文件之间 - 我必须在设置发布配置时被错误点击。更正它允许应用程序构建。