【问题标题】:kMovieLoadStatePlayable undelcared (first use in this function) error with QuickTime or QTKit frameworkQuickTime 或 QTKit 框架的 kMovieLoadStatePlayable undelcared (first use in this function) 错误
【发布时间】:2009-07-28 07:07:40
【问题描述】:

我有以下代码:

(void)loadStateChanged:(NSNotification*)notification
{
     if ([[movie attributeForKey:QTMovieLoadStateAttribute] longValue] >= kMovieLoadStatePlayable)
     {
      [[NSNotificationCenter defaultCenter] removeObserver:self];

      long movieScale = [[movie attributeForKey:QTMovieTimeScaleAttribute] longValue];

      [movie setCurrentTime:QTMakeTime(0, movieScale)];

      [movie play];
 }

它正在抛出这个错误:

错误:'kMovieLoadStatePlayable' 未声明(在此函数中首次使用)

我相信 kMovieLoadStatePlayable 属于 QuickTime 框架,并且我的程序中同时包含 QTKit 和 QuickTime 框架,但我无法弄清楚为什么它在这里出错。我知道这与这些框架有关。

【问题讨论】:

  • 我也找不到 kMovieLoadStatePlayable,但我找到了 QTMovieLoadStatePlayable。希望没事。

标签: xcode macos quicktime qtkit


【解决方案1】:

在您使用此符号的源文件中是否有#import?

仅仅将一个框架拖到您的项目中并不能使其标头对每个源文件都可用(这会显着减慢编译速度)。您必须明确包含每个源文件使用的每个框架的总括标头。

如果你确信你会在每个源文件中使用一个框架,那么在你的前缀头文件中添加一个#import。

【讨论】:

  • 进一步阐述cdespinosa给出的答案。此符号在 QuickTime.framework 的 Movies.h 中定义。要导入它,您可以使用以下行:#import 通常在文件顶部附近。
猜你喜欢
  • 1970-01-01
  • 2016-01-23
  • 2011-08-06
  • 1970-01-01
  • 2022-12-02
  • 2022-12-27
  • 1970-01-01
  • 1970-01-01
  • 2015-08-11
相关资源
最近更新 更多