2013-03-21 36 views
0

你好SOF C++程序員:)NORMAL_PRIORITY_CLASS用C++未定義項目

問題:一個所謂的內置常數在編譯時確認,而它應該。常量是NORMAL_PRIORITY_CLASS,在這裏引用的函數CreateProcess使用:http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx

語境:有這個軟件,我沒有寫,我需要建立和運行。它是用C++,我不知道的編程語言編寫的,並且是從Visual Studio 2008構建/運行的。我沒有編寫軟件。我已經在4周前演示了該軟件的知識轉移:如何使用Visual Studio 2008在XP PC上爲其他設備(嵌入式設備)構建它,以及如何在運行後使用它。所以當時一切正常,爲什麼我假設問題不是來自源代碼(但也許它)。現在,給定相同的代碼庫,我需要構建它並自行運行它。當我建立它在VS2008,我得到這個錯誤:

error C2065: 'NORMAL_PRIORITY_CLASS' : undeclared identifier

此函數調用觸發:

CreateProcess(this->ApplicationName, szr, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &sui, &processInfo)

其中szr的定義是這樣的:

TCHAR * szr = (TCHAR *)((*it).commandLine).c_str();

我搜索了一些東西,從wha T I明白,這個常數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頭文件目錄)。

關於什麼可能導致問題或我應該嘗試減少可能出現的問題列表的任何想法?

+0

由於正常優先級是默認值,只需將該參數更改爲0. – 2013-03-21 16:10:56

回答

2

你說你正在爲嵌入式系統構建。 Windows Embedded does not support priority classes,所以優先級類常量沒有在該編譯環境中定義。

+0

Ooooh OK。所以我沒有正確的代碼庫。我必須使用代碼庫在PC上運行應用程序。非常感謝你@Rob Kennedy! – Myna 2013-03-21 17:18:13

相關問題