作者:笑看人世情9 | 来源:互联网 | 2023-07-25 14:01
我正在使用以下命令行:
/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
在VS 2019中编译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,则照常将对应文件夹中填充“ .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文件。