Как связать JRE.framework в быстрых рамках
Я создаю быстрый фреймворк с кодом ObjectiveC, который переводится j2objc.
Я добавил java файлы для компиляции исходного кода и использую следующие настройки:
GENERATED_FILES_DIR = "$ {SRCROOT} / Generated";
HEADER_SEARCH_PATHS = "$ {J2OBJC_HOME} /frameworks/JRE.framework/Headers" "$ {GENERATED_FILES_DIR}" "$ {J2OBJC_HOME} / include" $ (унаследовано);
LIBRARY_SEARCH_PATHS = $ {J2OBJC_HOME} / lib;
OTHER_LDFLAGS = -ljre_emul
CLANG_ENABLE_OBJC_ARC = NO
и я получил ошибку:
include "J2ObjC_header.h" >> Включение немодульного заголовка в модуле фреймворка 'XXXXX'
Затем я делаю следующее:
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = ДА
Ошибка все еще существует.
Я связываю JRE.framework и устанавливаю HEADER_SEARCH_PATHS
Ошибка все еще существует.
Как это исправить?
1 ответ
Вы также хотите установить DEFINES_MODULE = NO;
Кроме того, вам не нужно "${J2OBJC_HOME}/include"
в HEADER_SEARCH_PATHS
и вы также можете удалить LIBRARY_SEARCH_PATHS = ${J2OBJC_HOME}/lib; OTHER_LDFLAGS = -ljre_emul;
так как вы используете фреймворк JRE сейчас.
Если вы переводите .java
источники без --no-package-directories
флаг, и вы хотите сохранить структуру каталогов, затем вы также хотите сделать следующее:
- Добавить сгенерированные файлы в качестве ссылки на папку в Xcode
- Удалить их из
Copy Bundle Resources
фаза - Бросьте папки в
Public
разделHeaders
фаза - Добавить новое
Run Scrip
фаза для удаления.m
файлы изHeaders
каталог:find "$TARGET_BUILD_DIR/$PUBLIC_HEADERS_FOLDER_PATH" -name "*.m" -exec rm -f {} \;
- Теперь вы можете ссылаться на них в заголовке вашего зонтика, используя
#include <your-framework-name/path/to/header/Header.h>