2013-03-23 253 views
0

我正在开发一个cocos2d-x项目,因为它的通用它在Android和iOS上的作品。致命的错误,没有这样的文件或目录(eclipse安卓)

我最近使用flite添加了文本到语音功能。在xcode中,我所做的只是使用flite,将头文件和c文件的文件夹拖放到我的xcode项目中,然后我可以包含它的头文件并使用它。那里没有问题。

但是在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文件夹中)

+0

你的flite lib是一个编译版本还是你想从源代码编译它?最简单的方法是将所有源代码放入Classes文件夹中,并在LOCAL_SRC_FILES(如mainScene.cpp)中列出cpp文件。这将确保您的图书馆获得内置到您的游戏对象文件。 – 2013-03-25 22:58:38

+0

如果flite是一个编译版本,那么很难说,因为我们不知道它的目标是哪个处理器。如果lib是为非arm处理器编译的,那么你可能不能使用它。 – 2013-03-25 23:00:28

+0

我的目标从源代码编译它,但它包含了相当多的.c文件,我相信所有的人都需要手工列出 – Sam 2013-03-25 23:09:35

回答

0

最简单的方法是将所有源代码放入Classes文件夹中,并列出LOCAL_SRC_FILES中的cpp文件,例如mainScene.cpp。这将确保您的图书馆获得内置到您的游戏对象文件。

+0

你能提供更多的细节吗? – Josh 2015-09-07 11:59:47

+0

@Josh这个答案可能会过时,因为它的目标是cocos2d-x 1.x.他们可能会改变他们从源头上构建的结构。 – 2015-09-07 22:29:12

+0

oh cr4p ...谢谢你告诉我! – Josh 2015-09-08 09:07:00

相关问题