gpt4 book ai didi

android - 未定义的函数引用 Android NDK

转载 作者:行者123 更新时间:2023-11-28 02:02:49 26 4
gpt4 key购买 nike

我正在尝试使用使用 OpenCV 的现有 C++ 代码构建 Android 应用程序。但是 Android NDK 说“未定义对 'TestMath::getHello()' 的引用”

这是我的 Android.mk :

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
#opencv
OPENCVROOT := /mypath/OpenCV-android-sdk
OPENCV_CAMERA_MODULES := off
OPENCV_INSTALL_MODULES := off
OPENCV_LIB_TYPE := SHARED
include ${OPENCVROOT}/sdk/native/jni/OpenCV.mk

LOCAL_MODULE := CrossMath
LOCAL_SRC_FILES := com_testapp_recognition_TestMath.cpp
LOCAL_SHARED_LIBRARIES := -lopencv_java3
include $(BUILD_SHARED_LIBRARY)

应用程序.mk:

APP_ABI := all
APP_CPPFLAGS := -frtti -fexceptions -std=c++11
APP_STL := gnustl_static
APP_PLATFORM := android-16

com_testapp_recognition_TestMath.hpp :

#include <jni.h>
#include "CrossMath/TestMath.hpp"
#ifndef _Included_com_testapp_recognition_TestMath
#define _Included_com_testapp_recognition_TestMath

#ifdef __cplusplus
extern "C" {
#endif

JNIEXPORT jint JNICALL Java_com_testapp_recognition_TestMath_recognize(JNIEnv *, jobject, cv::Mat& originalImage);

#ifdef __cplusplus
}
#endif
#endif

com_testapp_recognition_TestMath.cpp:

#include "com_testapp_recognition_TestMath.hpp"
JNIEXPORT jint JNICALL Java_com_testapp_recognition_TestMath_recognize(JNIEnv *, jobject, cv::Mat& originalImage) {
return TestMath::getHello().size();
}

最后是位于子文件夹 CrossMath 中的 TestMath.cpp:

#include "TestMath.hpp"

namespace TestMath {
string getHello() {
return "Hello";
}
}

测试数学.hpp :

#ifndef TestMath_hpp
#define TestMath_hpp

#include <stdio.h>
#include <iostream>
#include "opencv2/core/core_c.h"
#include "opencv2/opencv.hpp"
#include "opencv2/highgui.hpp"

namespace TestMath {
string getHello();
}

Java 类和其他人员已定义,我检查了路径并包含在文件中。

错误:

Error:(13) undefined reference to `TestMath::getHello()'

最佳答案

你错过了CrossMath/TestMath.cpp在你的LOCAL_SRC_FILES .

除此之外,如果 string您在代码中提到的应该是 std::string你需要包括 <string>TestMath.hpp并将类型更改为 std::string .

关于android - 未定义的函数引用 Android NDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38741213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com