Android ndk 编译源代码时发生ndk生成错误
我遵循以下教程 当我在终端中运行ndk build时。我发现以下错误Android ndk 编译源代码时发生ndk生成错误,android-ndk,Android Ndk,我遵循以下教程 当我在终端中运行ndk build时。我发现以下错误 Compile++ thumb : hello-jni <= hello-jni.cpp jni/hello-jni.cpp:4:5: error: stray '\342' in program jni/hello-jni.cpp:4:5: error: stray '\200' in program jni/hello-jni.cpp:4:5: error: stray '\234' in program jni
Compile++ thumb : hello-jni <= hello-jni.cpp
jni/hello-jni.cpp:4:5: error: stray '\342' in program
jni/hello-jni.cpp:4:5: error: stray '\200' in program
jni/hello-jni.cpp:4:5: error: stray '\234' in program
jni/hello-jni.cpp:4:5: error: stray '\342' in program
jni/hello-jni.cpp:4:5: error: stray '\200' in program
jni/hello-jni.cpp:4:5: error: stray '\235' in program
jni/hello-jni.cpp:9:17: error: stray '\342' in program
jni/hello-jni.cpp:9:17: error: stray '\200' in program
jni/hello-jni.cpp:9:17: error: stray '\234' in program
jni/hello-jni.cpp:9:17: error: stray '\342' in program
jni/hello-jni.cpp:9:17: error: stray '\200' in program
jni/hello-jni.cpp:9:17: error: stray '\235' in program
jni/hello-jni.cpp:4:15: error: 'C' does not name a type
make: *** [obj/local/armeabi/objs/hello-jni/hello-jni.o] Error 1
Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.cpp
include $(BUILD_SHARED_LIBRARY)
#include <string.h>
#include <jni.h>
extern “C” {
JNIEXPORT jstring JNICALL
Java_com_example_Hellojnicpp_stringFromJNI
(JNIEnv *env, jobject obj)
{
return env->NewStringUTF(“Hello from C++ over JNI!”);
}
}
.cpp文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.cpp
include $(BUILD_SHARED_LIBRARY)
#include <string.h>
#include <jni.h>
extern “C” {
JNIEXPORT jstring JNICALL
Java_com_example_Hellojnicpp_stringFromJNI
(JNIEnv *env, jobject obj)
{
return env->NewStringUTF(“Hello from C++ over JNI!”);
}
}
#包括
#包括
外部“C”{
JNIEXPORT jstring JNICALL
Java\u com\u示例\u Hellojnicpp\u stringFromJNI
(JNIEnv*env,jobject对象)
{
返回EnV--NexStrugUTF(“从C++中向JNI问候”!);
}
}
请帮助我修复过去72小时搜索网络时出现的错误
提前感谢
现在,在将“C”更改为“C”后,出现以下错误
Compile++thumb:hello jni
应该是
extern "C"
i、 例如,没有“卷曲”的引号。确保你的文本编辑器没有“美化”你的直接引用
应该是
extern "C"
i、 例如,没有“卷曲”的引号。确保您的文本编辑器不会“美化”您的直接引用。检查您的“”:
#包括
#包括
外部“C”{
JNIEXPORT jstring JNICALL
Java\u com\u示例\u Hellojnicpp\u stringFromJNI
(JNIEnv*env,jobject对象)
{
返回EnV--NexStrugUTF(“从C++中向JNI问候”!);
}
}
检查您的“”:
#包括
#包括
外部“C”{
JNIEXPORT jstring JNICALL
Java\u com\u示例\u Hellojnicpp\u stringFromJNI
(JNIEnv*env,jobject对象)
{
返回EnV--NexStrugUTF(“从C++中向JNI问候”!);
}
}
将extern“C”改为“C”,现在得到了不同的错误hmm,让我们看看,在一行中有一个带卷曲引号的错误。我告诉过你不要在那一行中使用卷曲引号,而在另一行中也包含卷曲引号,你仍然会遇到一个非常类似的错误。请允许我恭敬地指出,您可能还没有足够的编程经验来有效地使用Android NDK?将extern“C”改为“C”,现在得到了不同的errorhmm,让我们看看,您在一行中有一个带卷曲引号的错误。我告诉过你不要在那一行中使用卷曲引号,而在另一行中也包含卷曲引号,你仍然会遇到一个非常类似的错误。请允许我恭敬地指出,您可能还没有足够的编程经验来有效地使用Android NDK?您对字符串的引用也是错误的。我已经在我的回答中解决了这个问题。试试看,你对字符串的引用也是错误的。我已经在我的回答中解决了这个问题。你能帮我解决类似的问题吗。你可以在这里找到它,你能帮我解决类似的问题吗。你可以在这里找到它
#include <string.h>
#include <jni.h>
extern "C" {
JNIEXPORT jstring JNICALL
Java_com_example_Hellojnicpp_stringFromJNI
(JNIEnv *env, jobject obj)
{
return env->NewStringUTF("Hello from C++ over JNI!");
}
}