Udostępnij za pośrednictwem


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 (DTSDKNameklucza 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 .