你好 SOF C++ 程序员 :)
问题:一个所谓的内置常量在编译时没有被识别,而它应该被识别。常量是,在这里引用NORMAL_PRIORITY_CLASS
的函数中使用:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspxCreateProcess
上下文:有这个软件,我没有写,我需要构建和运行。它是用我不知道的编程语言 C++ 编写的,并且是从 Visual Studio 2008 构建/运行的。而且我没有编写该软件。我已经在 4 周前演示了该软件,用于知识转移:如何在 XP PC 上为另一台设备(嵌入式设备)使用 Visual Studio 2008 构建它,以及如何在运行后使用它。所以当时一切都很好,这就是为什么我假设问题不是来自源代码(但也许确实如此)。现在,给定相同的代码库,我需要自己构建并运行它。当我在 VS2008 上构建它时,我得到了这个错误:
error C2065: 'NORMAL_PRIORITY_CLASS' : undeclared identifier
由此函数调用触发:
CreateProcess(this->ApplicationName, szr, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &sui, &processInfo)
whereszr
被定义为:
TCHAR * szr = (TCHAR *)((*it).commandLine).c_str();
我用谷歌搜索了周围的东西,据我了解,这个常量NORMAL_PRIORITY_CLASS
是内置的。这个链接上的文档(http://msdn.microsoft.com/en-us/library/windows/desktop/ms685100%28v=vs.85 %29.aspx)读取:By default, the priority class of a process is NORMAL_PRIORITY_CLASS
所以这不是程序员为自己的目的定义的常量。类中加载的库是:
#include <windows.h>
#include <fstream>
#include <tchar.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
以及其他一些海关“header.h”文件,写在源代码中(VS2008中的头文件目录)。
关于什么可能导致问题的任何想法,或者我应该尝试什么来减少可能的问题列表?