2013-05-27 30 views
0

我正在將我的Windows代碼移植到linux。 當我使用ACE_Atomic_Op API,編譯器拋出一些錯誤如下圖所示變量「ACE_Atomic_Op <ACE_Thread_Mutex,unsigned int> AcsHcs :: Cache :: cnt」具有初始值設定項但不完整類型

variable "ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int> AcsHcs::Cache::cnt" 
has initializer but incomplete type" 

我的代碼如下:

在Cache.h文件我有

static ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int> cnt; 

,並在高速緩存中.cpp我宣佈cnt爲

ACE_Atomic_Op<ACE_Thread_Mutex, unsigned int> Cache::cnt = 0; 

在窗口中可以正常工作s,但它是扔在linux錯誤

任何人都可以告訴我最新的問題是什麼?提前

+0

看到這個問題和答案:http://stackoverflow.com/questions/4287428/error-has-initializer-but-incomplete-type –

+0

你有包括ace/Atomic_Op.h? –

回答

0

而是缺乏一個包括

感謝,請加ace/Atomic_Op.h到您的源文件。由於平臺的差異,它有時會發生在平臺上,你可以免費獲得一個包含,當移植到另一個平臺時,你必須添加一個明確的include。

相關問題