Я ищу QTAtomContainer в заголовочных файлах
Множество быстрых примеров обращаются к QTAtomContainer для установки параметров экспорта фильма.
У меня есть весь этот рабочий код с древних времен. Сейчас я использую xcode 4, и компилятор не может найти QTAtomContainer. Согласно документации Apple, это должно быть объявлено в Movie.h. Но нет QTAtomContainer. Кто-нибудь знает, куда Apple переместила эту декларацию или какой заголовок мне не хватает?
2 ответа
Я наконец-то нашел проблему. В Quicktime много символов определены! ТОЛЬКО! если ваш xcode-проект компилируется в 32-битном режиме PLAIN. Универсальные двоичные файлы, использующие "Standard (32/64 bit-Intel)" или просто 64-bit, никогда не найдут эти символы. ("Стандартный (32/64 бит-Intel)" является настройкой по умолчанию фактического компилятора серии xcode 4. ИМХО Quicktime будет / должен измениться. По умолчанию Lion будет поставляться с 64-битной версией)
В "QuickTime/QuicktimeComponents.h" вы найдете следующую строку:
#if !__LP64__
Это означает, что если 64-битный код определен хотя бы один раз, компилятор не найдет символы
QTAtomContainer
MovieExportGetSettingsAsAtomContainer
MovieExportComponent
canMovieExportFiles
которые отсутствовали до сих пор. Теперь я могу успешно использовать пример для установки параметров VideoQuality в Quicktime с помощью ключа QTMovieExportSettings, который вы можете найти здесь:
http://www.cocoadev.com/index.pl?QTMovieExportSettings
Я использую следующие заголовки:
#import <QuickTime/QuickTime.h>
#import <QuickTime/Movies.h>
#import <QTKit/QTKit.h>
Эти заголовки неявно включают "QuickTime/QuicktimeComponents.h"
Надеюсь, я смогу помочь кому-то еще, кто боролся с этой проблемой.
Привет
Джек
Спасибо за это! Четыре года спустя, и я занимаюсь разработкой для OS X 10.7, это, я уверен, сэкономило мне много времени.