我正在开发一个 cocos2d-x 项目,因为它的通用性适用于 android 和 iOS。
我最近使用 flite 添加了文本到语音功能。在 xcode 中,我使用 flite 所做的一切就是将 headers 和 c 文件的文件夹拖到我的 xcode 项目中,然后我可以包含它的 headers 并使用它。那里没有问题。
但是在 Eclipse 中,我无法让编译器看到这些文件,并且它不断出现我提到的致命错误。具体来说:致命错误:flite.h 没有这样的文件或目录。
我试图将文件夹包含在 C/C++ 常规下的 eclipse 的包含部分中,但没有运气。我认为这可能与我的 android.mk 文件有关,不胜感激如何为此目的进行设置的指导。附带说明一下,我的项目设置为使我的 .cpp 和 .h 文件存在于我计算机的其他位置,而不是我的实际项目中。我的 flite 源文件也是如此。(我确实尝试将它们添加到我的项目中,但是出于绝望但编译器仍然找不到它们)
谢谢你的时间。
PS:如何引用flite,它是一个库/框架等吗?
编辑 我试图修改我的 Android.mk 文件,以找到 flite 标头。我的补充如下所示
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/CCLabelTTFExtension.cpp \
../../Classes/menuScene.cpp \
../../Classes/text_Parse.cpp \
../../Classes/FileTS.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes/
#my addition
LOCAL_C_INCLUDES += $(LOCAL_PATH)/flite/
dirs := $(shell /flite -type d)
cfilestemp1 := $(shell find /src -type d)
cfilestemp2 := $(shell find $(cfilestemp1) -name *.c)
cfilestemp3 := $(sort $(cfilestemp2))
cfiles := $(subst $(LOCAL_PATH)/,,$(cfilestemp3))
LOCAL_SRC_FILES += \
$(cfiles)
#end my addition
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)
include $(CLEAR_VARS)
这让我更接近,好吧,给了我不同的错误。现在编译器在我的 FileTS.cpp 文件中抱怨未定义的引用,该文件在我的项目中使用 flite。(注意:我的 flite 头文件和源文件现在添加到我的项目中的 jni 文件夹中)