2013-02-21 64 views
0

我在Eclipse中設置了ndk-r7編譯環境並編譯.so庫文件的C代碼。然後,va_lsit類型的C代碼不能被識別並被編譯。ndk-r7無法識別va_list類型

當我編譯ndk的示例代碼時沒有問題。但是它並沒有在樣本中使用va_list類型。它有stdarg.h。它在ndk目錄的stdarg.h中有va_list定義。

像這樣的錯誤:

jni/CommAbstractLayer.c: In function 'SetCommunicationLineVoltage': 
jni/CommAbstractLayer.c:1414: error: invalid initializer(this line points the following line: va_list args = NULL;) 

這樣的代碼:

#include <stdarg.h> 
...... 
W_INT2 SetCommunicationLineVoltage(BYTE ucChangeTimes, ...) 
{ 
va_list args = NULL; 
...... 
return 0; 
} 

回答

0

va_list不保證是指針;該代碼是無效C.

這條線可以進行修改,以簡單地讀取

va_list args; 

提供的代碼確實與va_start初始化,並且不認爲這是堪比NULL