У меня есть много зрелого программного обеспечения C ++, встраиваемого в XCode для Mac, которое вызывает функции Core Foundation, такие как CFBundleCreate()
а также CFBundleGetValueForInfoDictionaryKey()
, Многие из функций CF, которые я использую, не являются платными. Мой проект XCode7 в настоящее время использует фреймворки Cocoa, CoreFoundation и Carbon; и источник имеет #include "Carbon/Carbon.h"
,
Я хочу использовать только какао и исключить углерод. Но устранение #include Carbon.h
заставляет все виды использования данных и функций Core Foundation (CFxxxxx) вызывать ошибки во время компиляции: "Unknown type name"
"Undeclared identifier"
и т.д. Я понимаю, что могут быть альтернативные способы кодирования этих операций с использованием функций NSxxxx в Objective C, но это было бы много работы, поэтому я предпочитаю использовать C ++ и вызывать функции CFxxxxx.
Мой вопрос: как я могу вызывать функции CFxxxx () в коде C ++, используя только платформу Cocoa (и без каркаса Carbon или заголовков Carbon)?
Задача ещё не решена.
Других решений пока нет …