![]() |
Проблемы с нативным код
Вложений: 1
Помогите разобраться.
Странная штука - Eclipse (juno) не может заинклудить файл limits.h, если он указан в виде #include <limits>, как это сделано в движке ocge (c3d engine). Код:
**** Build of configuration Default for project helloworld **** Может есть конфликт с разными версиями этого файла? Или есть что-то с таким именем? У меня установлена RAD Studio, оттуда инклудить может, хотя в путях проекта указаны только пути к движку и к ндк. Ещё добавил путь к MinGW - не помогло. Ещё вот с этим проблема: #include <string> - решено добавлением .h #include <cstdarg> - а вот это не решено, добавление .h не помогло, всё равно пишет "fatal error: cstdarg: No such file or directory". Все эти заголовочные файлы - limits, string, cstdarg есть в инклудах ndk, mingw, rad studio. wtf? |
Ответ: Проблемы с нативным код
stdarg.h
|
Ответ: Проблемы с нативным код
А уверен что пути к НДК прописаны C:\android-ndk2\ ?
|
Ответ: Проблемы с нативным код
Посоны, я проиграл. :(
Заменил #include <cstdarg> на #include <stdarg.h> - сработало И дальше беда: Код:
In file included from jni/../../../include/ocge.h:6:0, Блин, я чё-то не так делаю. При наведении на строку с инклудом и щелчке мышью ничего не происходит. Я пошёл дальше, нашёл где лежит файлик iostream, это оказалась папка E:\dev\MinGW\lib\gcc\mingw32\4.6.2\include\c++, добавил её в пути проекта, теперь ctrl+лкм открывает файл. Но при компиляции та же ошибка - файл не найден. Причём при добавлении нового пути с инклудами в проект эклипс предлагает проиндексировать папку, я соглашаюсь. Ещё что интересно - в прошлую пятницу я нормально компильнул этот проект, я тогда ещё не знал про настройку "с/с++ build" в эклипсе, и потому на ошибку "ndk-build.cmd не найден по адресу C:\android-ndk\ndk-build.cmd" я просто скопировал папку с ндк на диск С. путь в системной переменной прописал. Теперь думаю - не приснилось ли мне это всё? Возможно в настройках ещё что-то надо указать, хз что. Почему эклипс не находит заголовочный файл, который лежит в подкаталоге, указанном в путях проекта? Пути к сдк и ндк прописаны в системной переменной Path. Использую Eclipse Classic 4.2. Продолжаю вникать в книжку Android NDK Beginner's Guide |
Ответ: Проблемы с нативным код
все инклуды брать из NDK!!!
+ ко всему, что бы можно было юзать stl добавить файлик Application.mk в каталог jni твоего проекта и в нем написать Код:
APP_STL := stlport_static |
Ответ: Проблемы с нативным код
Цитата:
Цитата:
Код:
LOCAL_PATH := $(call my-dir) Вроде теперь дело за малым - компилит, но не может найти либу ocgeAndroid: Код:
"E:\\dev\\android-ndk\\ndk-build.cmd" all |
Ответ: Проблемы с нативным код
А что разве Мастер проектов мой не работает?
Код:
LOCAL_PATH := $(call my-dir) это я делаю для подключения библиотеки Код:
LOCAL_LDLIBS += -L$(LOCAL_PATH)/../libs/armeabi/ |
Ответ: Проблемы с нативным код
Точно разные файлы, я не обратил внимания.
Мастер не работает, хочет .net 4.0.3 - видимо это 4й с сервис-паком, я установил просто 4й - не заработало и я забил. У тебя в структуре каталогов в мастере установки обе либы лежат в папке libs, но удаляются же они оттуда, как этого избежать? :) |
Ответ: Проблемы с нативным код
они не там должны лежать, это для мастера они там лежат, попробуй фреймворк устаови
|
Ответ: Проблемы с нативным код
Не смог найти установщик .net 4.0.30319, который требуется. Нашёл только, что это обновление, которое ставит либо винда сама либо msvs 2010, студии у меня нет, винда не установила.
У меня вин 7 х64. Кстати, разве нельзя для .net приложений компильнуть так, чтоб всё нужное было в ехе-шнике? Пусть он получится мег-два-больше, зато не нужно париться. |
Ответ: Проблемы с нативным код
Цитата:
|
Ответ: Проблемы с нативным код
Или .bat-ничег вообще.
|
Ответ: Проблемы с нативным код
Вложений: 1
Да будет тебе счастье, замени exe-шник
|
Ответ: Проблемы с нативным код
Спасибо, работает!
Но по-прежнему проблема - в итоговый apk не инклудится либа ocgeAndroid, хз почему. Создал проект с помощью мастера, скомпилил, в папке \libs\armeabi\ появился файл libocge_new.so, и установился в apk, а вот файл \libs\armeabi-v7a\libocgeAndroid.so удалился перед компиляцией, его в эту папку мастер скопировал. |
Ответ: Проблемы с нативным код
вообще мастер для eclipse indigo а у тебя juno, может из-за этого, у меня ниче не удаляется!
Я настраиваю проект в своем мастере, потом выбираю папку куда сохраниь проект (save). Потом делаю в eclipse import этого проекта, запускаю сразу и он работает. Ничего больше настраивать не надо. |
Часовой пояс GMT +4, время: 11:09. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot