C++ VisualStudio2019不想为LIB发行版生成ASM文件,我';我做错了?

C++ VisualStudio2019不想为LIB发行版生成ASM文件,我';我做错了?,c++,c,visual-studio-2019,C++,C,Visual Studio 2019,我正在使用以下命令行: /permissive- /MP /GS- /Qpar /GL /W4 /wd"4530" /Gy /Zc:wchar_t /I"C:\oTemplates\oLib\oLib\src" /I"C:\oTemplates\oLib\oLib\inc" /Gm- /Ox /Fd"C:\oTemplates\oLib\oLib\tmp\64aRavx2\vc142" /fp:precise /Zp1 /D "AMD" /D "NDEBUG" /D "_CONSOLE" /

我正在使用以下命令行:

/permissive- /MP /GS- /Qpar /GL /W4 /wd"4530" /Gy /Zc:wchar_t /I"C:\oTemplates\oLib\oLib\src" 
/I"C:\oTemplates\oLib\oLib\inc" /Gm- /Ox /Fd"C:\oTemplates\oLib\oLib\tmp\64aRavx2\vc142" /fp:precise 
/Zp1 /D "AMD" /D "NDEBUG" /D "_CONSOLE" /fp:except- /errorReport:none /GF- /WX- /Zc:forScope /GR- 
/arch:AVX2 /Gv /Oi /MD /FC /Fa"C:\oTemplates\oLib\oLib\asm\64aRavx2\" /nologo 
/Fo"C:\oTemplates\oLib\oLib\tmp\64aRavx2\" /FAcs /Ot /diagnostics:column /Ob3 /favor:AMD64
要在VS2019中编译LIB项目,“C:\oTemplates\oLib\oLib\asm\64aRavx2\”保持为空。但它是在编译时创建的

如果切换到调试设置:

/JMC /permissive- /MP /GS- /W4 /wd"4530" /Zc:wchar_t /I"C:\oTemplates\oLib\oLib\src" 
/I"C:\oTemplates\oLib\oLib\inc" /ZI /Gm- /Od /Fd"C:\oTemplates\oLib\oLib\tmp\64aDavx2\vc142" /fp:precise 
/Zp1 /D "AMD" /D "_DEBUG" /D "_CONSOLE" /fp:except- /errorReport:none /GF- /WX- /Zc:forScope /RTC1 /GR- 
/arch:AVX2 /Gv /MDd /FC /Fa"C:\oTemplates\oLib\oLib\asm\64aDavx2\" /nologo 
/Fo"C:\oTemplates\oLib\oLib\tmp\64aDavx2\" /FAcs /diagnostics:column /Ob3 /favor:AMD64
或者,如果我将项目类型从LIB切换到EXE,则相应的ig文件夹会像往常一样填充“.asm”文件。 编译器不会仅为同一代码的静态库版本生成asm文件

我做错了什么,或者如何确定问题出在哪里

顺便说一句,输出不会以任何方式产生错误:

1>------ Rebuild All started: Project: oLib, Configuration: Release - AVX2 64 AMD ------
1>lib.cpp
1>oLib.vcxproj -> C:\oTemplates\oLib\oLib\bin\oLib64aRavx2.lib
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

如果有人感兴趣:


对于LIB项目,需要删除/GL选项(“配置属性”->“C/C++”->“优化”->“整个程序优化”),以生成.asm文件。

看起来您创建了自己的配置,超出了标准调试和发布版本。这没关系,但有点冒险,您可能会读回一个(如“Release”)的编译选项,但使用另一个(如“Release-AVX2 64 AMD”)的设置进行构建。