C++未生成'object'文件

C++ no 'object' file generated

本文关键字:文件 object 未生 C++      更新时间:2023-10-16

这是从Qt内部获取环境变量的一些代码,但是,Qt的QProcessEnvironment::systemEnvironment()似乎只反映了重新启动后的新环境变量更改。所以我正在考虑使用 getenv。但是我从中得到了"error C2220: warning treated as error - no 'object' file generated"

QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
const QString ENGINE_ROOT = env.value("ENGINE_ROOT", "") != "" ? 
env.value("ENGINE_ROOT","") : QString(getenv("ENGINE_ROOT"));

不要告诉我禁用/WX 或将 W4 降低到 W3 之类的事情,我不想听到这个,我想知道到底是什么原因

未生成"对象"文件

.

"错误 C2220:警告被视为错误 - 未生成'对象'文件"

该错误已经回答了您的问题:

  1. 生成了警告。
  2. 由于您已告诉编译器将警告视为错误,因此发生了错误
  3. 由于发生错误,编译器未生成目标文件。

如果您想知道原始警告的含义,则需要向我们询问该警告。

我刚刚遇到了这个问题。混淆的真正来源是Microsoft Visual Studio列出了
错误 C2220:警告被视为错误 - 未生成"对象"文件
与警告分开行(有时甚至在警告之前),因此不会立即看出错误与列出的警告有关。

修复列出的所有警告以解决此问题。

我将解决潜在的问题,而不是编译问题。

启动新进程时,任何进程的环境变量都会从其父进程的环境变量复制。从那时起,唯一可以修改它们的就是你自己的过程。

实际上,这意味着转到 Windows 对话框更改环境变量不会更改任何现有进程的这些值。这些更改将应用于explorer.exe进程,然后应用于从资源管理器启动的任何新进程。

Windows 应用程序可以通过一种方法来

获取资源管理器对环境变量所做的更改的通知。有关详细信息,请参阅如何通过 Windows 中的命令行明确修改 PATH 变量。

在我的情况下,消除所有无用的"对象"将处理此错误