Как добавить код Objective C в проект FireBreath?
Я пишу плагин для браузера Mac OS, который будет помещать значок строки состояния в строке состояния, который пользователи могут использовать для взаимодействия с плагином браузера. Я успешно построил проект FireBreath 1.6 в XCode 4.4.1 и могу установить его в браузере. Однако FireBreath использует C ++, тогда как подавляющее большинство существующих библиотек для Mac OS написаны на Objective
В файле /Mac/projectDef.make я добавил Cocoa Framework и Foundation Framework, как было предложеноВо и в других ресурсах, которые я нашел в Интернете:
target_link_libraries(${PROJECT_NAME}
${PLUGIN_INTERNAL_DEPS}
${Cocoa.framework} # added line
${Foundation.framework} # added line
)
Я перезапустил prepmac.sh, ожидая, что в XCode будет создан новый проект с моими файлами .mm и .m; однако, кажется, что их игнорируют. Я вижу только файлы .cpp и .h. Я добавил правила для них в файл projectDef.make, но, похоже, это не имеет значения:
file (GLOB PLATFORM RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
Mac/[^.]*.cpp
Mac/[^.]*.h
Mac/[^.]*.m #added by me
Mac/[^.]*.mm #added by me
Mac/[^.]*.cmake
)
Даже если я добавлю файлы вручную, я получу серию ошибок компиляции. Их около 20, все они связаны с файломNSObjRuntime.h
файл
Parse Issue - Expected unqualified-id
Parse Issue - Unknown type name 'NSString'
Semantic Issue - Use of undeclared identifier 'NSString'
Parse Issue - Unknown type name 'NSString'
...
...
Semantic Issue - Use of undeclared identifier 'aSelectorName'
...
...
Semantic Issue - Use of undeclared identifier 'aClassName'
...
Так продолжается некоторое время с похожими ошибками ...
Из того, что я прочитал, эти ошибки появляются из-за зависимостей от Foundation Framework, которые, я полагаю, я включил в проект. Я также попытался щелкнуть проект в XCode
Теперь я не знаю, что делать дальше. Люди говорят, что использовать Objective C в коде C / C ++ несложно, но, будучи новичком в XCode и Objective C, я могу запутаться. Это только 4-й день для меня на этой новой платформе.
Что мне нужно сделать, чтобы XCode компилировал код Objective C? Пожалуйста, помните, что я немного новичок в этом, поэтому я был бы признателен, если вы оставите подробные ответы, а не расплывчатые однострочные, которые часто встречаются в Firebreath тег. Я просто немного над головой, но если ты сможешь преодолеть это препятствие, я уверен, что мне будет хорошо идти оттуда.
ОБНОВИТЬ
Я отредактировал проекты / MyPlugin / CMakeLists.txt и добавил туда также правила .m и .mm. после запуска prepmac.sh файлы включаются в проект, но я по-прежнему получаю те же ошибки компиляции.
Я переместил все файлы .h и .mm из кода Obj C в корневую папку MyPlugin и перезапустил файл prepmac.sh. Проблема все еще существует. Те же ошибки компиляции.