一、问题现象
使用vs2022编译cython的时候报错:
RC:fatal error RC1106: invalid option: -ologo
LINK: fatal error LNK1327:运行 rc.exe 期间出错
二、原因分析
原因如下:
you are using 6.x version of SDK which has a version of RC.exe with no support for switch -nologo.
You can swtich your SDK to 7.0A verion like Sent has suggested above.
Please let us know if you do have reasons to stay with 6.x version of SDK.
三、问题处理
检查rc.exe位置
发现RC.exe使用的是vc98的,该版本是不支持-ologo参数
使用工具查找rc.exe文件
发现再其他目录有对应的RC.exe文件,导入一个新的环境变量之后再编译
结果编译成功
四、解决方案
方案1:导入新的环境变量
set path=C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;%path%
方案2:全量导入sdk的环境变量
set WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10
set build_version=10.0.19041.0
set path=%WindowsSdkDir%\bin\%build_version%\x64;%path%
set lib=%WindowsSdkDir%\Lib\%build_version%\ucrt\x64;%lib%
set lib=%WindowsSdkDir%\Lib\%build_version%\um\x64;%lib%
set include=%WindowsSdkDir%\Include\%build_version%\um;%include%
set include=%WindowsSdkDir%\Include\%build_version%\ucrt;%include%
set include=%WindowsSdkDir%\Include\%build_version%\shared;%include%
set include=%WindowsSdkDir%\Include\%build_version%\winrt;%include%