Windows 下 MSVC 编译器在 CMake 生成时提示 RC failed 或库文件缺失
前几天没事儿打开 CLion 的时候, 突然发现在 CMake 生成的时候就会报错, 问题出在链接的时候找不到 kernel32.lib 等库文件. 错误看起来和 这个 Stack Overflow 问题 里面的类似.
测试的时候特意换了其他工具链和其他 IDE, 都是失败. 使用 Clang for MSVC 就是找不到库文件的问题. 而使用 MSVC 印象中似乎是 RC Pass 1: command failed (exit code 0) with the following output 之类的错误.
印象中最近并没有动过编译器相关的东西, 惟有的可能就是在 Visual Studio 中升了个级.
不过由于不是很了解 Windows 上的编译器和构建环境等等, 对于这个完全是没有头绪的. 难办的是网上找到的类似问题的解决方案也不适用.
在打开 Visual Studio 进行实验的时候, 发现提示要登录. (印象中之前经历过未登录 Visual Studio 就不能使用的情况) 不过, 登录了之后, 问题好像也没有解决.
后来不知怎的想起来, 可能是 Windows SDK 的问题 (之前也遇到过), 于是打开 Visual Studio, 取消勾选 “C++ 工具集” 下边现有的一个 SDK (10.0.19041.0), 选了一个最新的 10.0.22621.0, 然后 “确认”, 等待更改完成.
之后再测试问题就解决了.
看来 “重装解决问题” 确实是真理! 虽然最开始也想到了这个, 但是感觉完全重装 Visual Studio 太过麻烦, 还是执着地想找到其他解决的方式.
不过经过这么一次问题, 似乎对 Windows 上的构建环境又多了那么一点了解. 有时间再多了解一下吧, 说不定下次就能更快推断到问题的所在, 比如这个 rc 命令, 是用来干什么的呢?
|