我正在开发一个cocos2d-x项目,因为它的通用它适用于Android和iOS。
我最近使用flite添加了文字到语音功能。在xcode中我所做的就是使用flite,将header和c文件的文件夹拖到我的xcode项目中,然后我可以包含它的标题并使用它。没问题。
然而在eclipse中,我无法让编译器看到文件,并且它一直在轰炸我所提到的致命错误。具体来说:致命错误:flite.h没有这样的文件或目录。
我试图将该文件夹包含在C / C ++下的eclipse的include部分,但没有运气。我认为这可能与我的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文件夹中的项目中)
答案 0 :(得分:0)
最简单的方法是将所有源代码放入Classes文件夹,并列出LOCAL_SRC_FILES中的cpp文件,如mainScene.cpp。这将确保您的库可以构建到您的游戏对象文件中。