0

我在 Eclipse 中收到以下错误:

**** Build of configuration Default for project com.opera.sdk.Opera ****

D:\android-ndk-r8b-windows\android-ndk-r8b\ndk-build.cmd all 
"Compile++ thumb : operanative <= main.cpp

In file included from jni/src/main.cpp:4:0:
jni/include/controller.hpp:6:28: fatal error: gogi_opera_api.h: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs/operanative/src/main.o] Error 1

**** Build Finished ****

这是我的 Android.mk 生成文件:

MY_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_PATH := $(MY_PATH)
LOCAL_MODULE    := libopera
LOCAL_SRC_FILES := libopera.a
include $(PREBUILT_STATIC_LIBRARY)

# final library
include $(CLEAR_VARS)
LOCAL_PATH := $(MY_PATH)
LOCAL_MODULE     := operanative
LOCAL_SRC_FILES  := src/main.cpp \
                    src/controller.cpp \
                    src/lock.cpp \
                    src/event.cpp \
                    src/dialog.cpp \
                    src/queue.cpp \
                    src/screen.cpp \
                    src/surface.cpp \
                    src/timer.cpp \
                    src/waiter.cpp \
                    src/window.cpp
LOCAL_C_INCLUDES := jni/include \
                    $(GOGI_SDK_PATH)/include \
                    $(GOGI_SDK_PATH)/jsplugins/ooif/include
LOCAL_WHOLE_STATIC_LIBRARIES := libopera
LOCAL_LDLIBS := -llog -ljnigraphics
include $(BUILD_SHARED_LIBRARY)

这是我的 Application.mk 文件:

APP_STL:=stlport_static
APP_ABI := armeabi armeabi-v7a
APP_PLATFORM := android-14

并且问题中的 controller.hpp 文件具有以下定义:

#ifndef CONTROLLER_HPP
#define CONTROLLER_HPP

#include <memory>

#include "gogi_opera_api.h"

#include "event.hpp"
#include "dialog.hpp"
#include "queue.hpp"
#include "screen.hpp"
#include "surface.hpp"
#include "timer.hpp"
#include "waiter.hpp"
#include "window.hpp"

我将文件放在正确的位置,并根据需要重写了 application.mk,但出现上述构建错误。

4

1 回答 1

0

将 *.hpp 更改为 *.cpp

它在 echoprint 项目中为我工作。

于 2012-10-15T06:02:56.893 回答