简体   繁体   English

编译项目时出现未定义的参考错误(ANDROID NDK)

[英]Undefined reference error while compiling project (ANDROID NDK)

I am working with the Android NDK and I am facing this problem. 我正在使用Android NDK,并且遇到了此问题。 I am getting following error; 我收到以下错误;

22:30:09 **** Incremental Build of configuration Default for project MrBlueFramework ****
"D:\\Android_Development\\Android_NDK\\ndk-build.cmd" all 
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml    
[armeabi] Compile++ thumb: MrBlueFramework <= MrBlueFramework.cpp
[armeabi] SharedLibrary  : libMrBlueFramework.so
D:/Android_Development/Android_NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/MrBlueFramework/MrBlueFramework.o: in function android_main:jni/MrBlueFramework.cpp:11: error: undefined reference to 'Framework::Application::Application(android_app*)'
D:/Android_Development/Android_NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/MrBlueFramework/MrBlueFramework.o: in function android_main:jni/MrBlueFramework.cpp:11: error: undefined reference to 'Framework::Application::~Application()'
collect2: ld returned 1 exit status
make.exe: *** [obj/local/armeabi/libMrBlueFramework.so] Error 1

Here is what my hierarchy looks like; 这是我的层次结构。

在此处输入图片说明

Here is my android.mk 这是我的android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := MrBlueFramework
LOCAL_SRC_FILES := MrBlueFramework.cpp \
                   Framework/Application/Application.cpp\
LOCAL_C_INCLUDES        := $(LOCAL_PATH)
LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv2
LOCAL_STATIC_LIBRARIES := android_native_app_glue

include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)

Here is content of Application.h 这是Application.h的内容

#include <android_native_app_glue.h>

namespace Framework
{
    class Application
    {
    private:

    public:
        Application(android_app *state);
        virtual ~Application();

        bool Initialize();
        void Run();

    };
}

And here is main class (mrblueframework.cpp) 这是主类(mrblueframework.cpp)

#include <jni.h>
#include <android_native_app_glue.h>
#include "Framework\Application\Application.h"

using namespace Framework;

void android_main(android_app *state)
{
    app_dummy();

    Application app(state);
}

I don't understand what I am doing wrong, I am including my Application.h file on top but stills it didn't find it. 我不明白自己在做什么错,我将Application.h文件放在顶部,但仍然找不到它。 Please help me regarding this. 请帮助我。

LOCAL_SRC_FILES := MrBlueFramework.cpp

Application.cpp不存在。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM