Tworzenie powiązań struktur natywnych
Czasami biblioteka natywna jest dystrybuowana jako struktura. Objective Sharpie zapewnia wygodę tworzenia prawidłowo zdefiniowanych struktur za pośrednictwem -framework
opcji .
Na przykład powiązanie struktury Adobe Creative SDK Framework dla systemu iOS jest proste:
$ sharpie bind \
-framework ./AdobeCreativeSDKFoundation.framework \
-sdk iphoneos8.1
W niektórych przypadkach struktura określi plik Info.plist , który wskazuje, dla którego zestawu SDK należy skompilować strukturę. Jeśli te informacje nie istnieją i nie zostanie przekazana żadna jawna -sdk
opcja, funkcja Objective Sharpie wywnioskuje je z pliku Info.plist platformy (DTSDKName
klucza lub kombinacji DTPlatformName
kluczy iDTPlatformVersion
).
Opcja -framework
nie zezwala na przekazywanie jawnych plików nagłówkowych. Plik nagłówka parasola jest wybierany zgodnie z konwencją na podstawie nazwy struktury. Jeśli nie można odnaleźć nagłówka parasola, narzędzie Objective Sharpie nie będzie próbowało powiązać platformy i należy ręcznie wykonać powiązanie, podając poprawne pliki nagłówka parasola do analizowania wraz z dowolnymi argumentami struktury dla języka clang (na przykład -F
opcją ścieżki wyszukiwania platformy).
Pod maską określenie -framework
jest tylko skrótem. Poniższe argumenty powiązania są identyczne z powyższym skrótem -framework
.
Szczególnie ważna jest ścieżka wyszukiwania platformy -F .
podana dla języka clang (zanotuj spację i kropkę, która jest wymagana w ramach polecenia).
$ sharpie bind \
-sdk iphoneos8.1 \
./AdobeCreativeSDKFoundation.framework/Headers/AdobeCreativeSDKFoundation.h \
-scope AdobeCreativeSDKFoundation.framework/Headers \
-c -F .