2013-03-23 2 views
0

Я разрабатываю проект cocos2d-x, поскольку его универсальный он работает на android и iOS.Неустранимая ошибка, нет такого файла или каталога (eclipse android)

Недавно я добавил функциональность текста в речь, используя flite. В xcode все, что я делаю, чтобы использовать flite, перетаскивание в папку заголовков и c-файлов в мой проект xcode, а затем я могу включить его заголовки и использовать их. Проблем нет.

Однако в eclipse я не могу заставить компилятор видеть файлы, и он продолжает бомбить с фатальной ошибкой, о которой я упоминал. В частности: фатальная ошибка: flite.h нет такого файла или каталога.

Я попытался включить папку в раздел включения eclipse под общим C/C++, но не повезло. Я думаю, что это может иметь какое-то отношение к моему файлу android.mk, было бы очень полезно дать рекомендации о том, как настроить это для этой цели. На стороне примечания, мой проект настроен так, что мои файлы .cpp и .h существуют в другом месте на моем компьютере, а не в моем фактическом проекте. Аналогично для моих исходных файлов flite. (Я попытался добавить их в свой проект, однако, из отчаяния, но компилятор все еще не смог их найти)

Спасибо за ваше время.

PS: Как относиться к flite, это библиотека/структура и т. Д.?

Редактировать Я попытался изменить файл Android.mk, чтобы найти заголовки флирта. Мои добавления указаны ниже

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 в моем проекте. (Примечание: мои заголовки флирта и исходные файлы теперь добавляются в мой проект в папке jni)

+0

Является ли ваш flite lib скомпилированной версией или вы хотите скомпилировать ее из исходного кода? самый простой способ - поместить весь исходный код в свою папку Classes и перечислить файлы cpp в LOCAL_SRC_FILES, например mainScene.cpp. это обеспечит сборку вашей библиотеки в файлы игровых объектов. –

+0

Если флирт - это скомпилированная версия, тогда это будет сложно сказать, потому что мы не знаем, к какому процессору он стремился. если lib компилируется для не-arm-процессора, то вы, вероятно, не сможете его использовать. –

+0

Я собираюсь скомпилировать его из источника, но он включает в себя довольно много файлов .c, я предполагаю, что им все потребуется вручную. – Sam

ответ

0

Самый простой способ - поместить весь исходный код в папку Classes и перечислить файлы cpp в LOCAL_SRC_FILES, например mainScene.cpp. это обеспечит сборку вашей библиотеки в файлы игровых объектов.

+0

Можете ли вы предоставить более подробную информацию об этом, пожалуйста? – Josh

+0

@Josh Этот ответ может отсутствовать, поскольку он нацелен на cocos2d-x 1.x. они могли бы изменить свою структуру о том, как строить из источника. –

+0

oh cr4p ... спасибо, что сказал мне! – Josh

Смежные вопросы