0

我正在将某人的 Palm Pilot 代码转换为他们的 Android 应用程序。这涉及到我使用 NDK 从他们已经构建的库之一中读取。为此,我需要创建几个新函数。

void __stdcall FreeRelay(void){
    RelayAPI_DataValid=0;
    RelayAPI_SetBaud=0;
    RelayAPI_get=0;
    RelayAPI_put=0;
    RelayAPI_flush=0;
    RelayAPI_delay=0;
    RelayAPI_initilized=0;
}

void Java_my_MainMenu_FreeRelayJava( JNIEnv * env, jobject this ) {
    RelayAPI_DataValid = 0;
    RelayAPI_SetBaud = 0;
    RelayAPI_get = 0;
    RelayAPI_put = 0;
    RelayAPI_flush = 0;
    RelayAPI_delay = 0;
    RelayAPI_initilized = 0;
}

现在,我的错误出现在第二种方法的最后一行。我原来是拼写RelayAPI_initialized的,我知道那是正确的,但我不会因为错字而更改所有这些 C 代码的麻烦。我会让我的函数适合旧代码。无论如何,我试过ndk-build了,得到了这个。

在此处输入图像描述

现在在这些单独的ndk-build调用之间,我修复了错误。但它仍然在第 615 行告诉我有一个错误处理RelayAPI_initialized但它不存在。我不知道发生了什么,而且我对 C 真的知之甚少。我用更新的信息保存了我的文件,然后调用了ndk-build. 我错过了什么?

4

2 回答 2

1

也许您可以使用 grep 来查找是否在某些 c 代码或头文件中全局定义了 RelayAPI_* 等其他 var。如果不是,请定义它,或者不设置它。

它将解决编译错误...但可能无法正常工作

于 2012-07-31T14:04:07.133 回答
0

清理你的构建。所以党建的东西被删除,你得到一个完整的重建。

于 2012-07-31T14:01:05.350 回答