Показать сообщение отдельно
Старый 21.08.2012, 10:01   #6
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Проблемы с нативным код

Сообщение от pozitiffcat Посмотреть сообщение
все инклуды брать из NDK!!!
Угу, я от безысходности дурью маялся с добавлением отовсюду.
+ ко всему, что бы можно было юзать stl добавить файлик Application.mk в каталог jni твоего проекта и в нем написать
APP_STL := stlport_static
APP_ABI := armeabi armeabi-v7a
APP_OPTIM := release
LOCAL_ARM_MODE := thumb
Я веду речь о демке твоего движка под андроид. Там вот что в файле Application.mk:
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := helloworld
### Add all source file names to be included in lib separated by a whitespace
LOCAL_SRC_FILES := main.cpp
LOCAL_CPPFLAGS += -I./
LOCAL_CPPFLAGS += -D _ANDROID

LOCAL_LDLIBS += -L$(LOCAL_PATH)/../libs/armeabi/
LOCAL_CPPFLAGS += -IC:/android-ndk/sources/cxx-stl/stlport/stlport
LOCAL_LDLIBS += -locgeAndroid

include $(BUILD_SHARED_LIBRARY)
Вот оно - абсолютный путь к твоей ндк! Я такую же папку из своей ндк в пути проекта добавлял - не помогало (я нуб, оказывается в таких делах).

Вроде теперь дело за малым - компилит, но не может найти либу ocgeAndroid:
"E:\\dev\\android-ndk\\ndk-build.cmd" all 
SharedLibrary  : libhelloworld.so

e:/dev/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.exe: cannot find -locgeAndroid
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libhelloworld.so] Error 1
Я не знаю куда её скинуть. Если в папку libs, то перед компиляцией оттуда всё удаляется.
(Offline)
 
Ответить с цитированием