【问题标题】:Compiling mp4v2 on Mac OS X在 Mac OS X 上编译 mp4v2
【发布时间】:2010-06-25 07:06:26
【问题描述】:

任何人都可以帮助我在 Mac OS X 上编译 mp4v2 吗?我已经尝试按照说明进行配置和编译,但我遇到了很多源自 C++ 头文件的错误。配置命令是./configure --enable-ub,后跟终端上的普通make

从错误消息的外观来看,我的安装中似乎缺少一些头文件。问题是我没有删除任何头文件,而是从安装程序 DMG 中按原样安装了 Xcode。

这些文件似乎是必需的,但在我的 Xcode 安装中不存在:

  • /usr/include/c++/4.2.1/bits/c++config.h
  • /usr/include/c++/4.2.1/bits/c++locale.h
  • /usr/include/c++/4.2.1/bits/c++io.h
  • /usr/include/c++/4.2.1/bits/ghtr.h
  • /usr/include/c++/4.2.1/bits/atomic_word.h
  • (还有一些)

它们都包含在系统提供的STL C++头文件中(所有引用这些缺失文件的文件都在/user/include/c++/4.2.1中。

谁能帮我告诉我从哪里得到这些“丢失”的头文件?

以下是涉及的每个软件的版本详细信息:

  • 雪豹10.6.4
  • Xcode 3.2.3(iOS SDK 4.0 附带的那个)
  • MP4v2 1.9.1
  • i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1(Apple Inc. build 5664)

以下是一些错误消息的摘录:

g++ -DHAVE_CONFIG_H -arch i386 -arch x86_64 -arch ppc -arch ppc64 -I./include -I./include -I. -一世。 -Wall -Wformat -g -O2 -fvisibility=hidden -c libplatform/impl.h -o libplatform/impl.h.gch/static 在 /usr/include/c++/4.2.1/ios:43 包含的文件中, 来自 /usr/include/c++/4.2.1/istream:44, 来自 /usr/include/c++/4.2.1/fstream:45, 来自./libplatform/platform_base.h:6, 来自 ./libplatform/platform_posix.h:31, 来自./libplatform/platform.h:24, 来自 libplatform/impl.h:6: /usr/include/c++/4.2.1/iosfwd:44:28: 错误: bits/c++config.h: 没有这样的文件或目录 /usr/include/c++/4.2.1/iosfwd:45:29: 错误: bits/c++locale.h: 没有这样的文件或目录 /usr/include/c++/4.2.1/iosfwd:46:25: 错误: bits/c++io.h: 没有这样的文件或目录 在 /usr/include/c++/4.2.1/bits/ios_base.h:45 包含的文件中, 来自 /usr/include/c++/4.2.1/ios:48, 来自 /usr/include/c++/4.2.1/istream:44, 来自 /usr/include/c++/4.2.1/fstream:45, 来自./libplatform/platform_base.h:6, 来自 ./libplatform/platform_posix.h:31, 来自./libplatform/platform.h:24, 来自 libplatform/impl.h:6: /usr/include/c++/4.2.1/ext/atomicity.h:39:23: 错误: bits/gthr.h: 没有这样的文件或目录 /usr/include/c++/4.2.1/ext/atomicity.h:40:30: 错误: bits/atomic_word.h: 没有这样的文件或目录 在 /usr/include/c++/4.2.1/memory:54 包含的文件中, 来自 /usr/include/c++/4.2.1/string:48, 来自 /usr/include/c++/4.2.1/bits/locale_classes.h:47, 来自 /usr/include/c++/4.2.1/bits/ios_base.h:47, 来自 /usr/include/c++/4.2.1/ios:48, 来自 /usr/include/c++/4.2.1/istream:44, 来自 /usr/include/c++/4.2.1/fstream:45, 来自./libplatform/platform_base.h:6, 来自 ./libplatform/platform_posix.h:31, 来自./libplatform/platform.h:24, 来自 libplatform/impl.h:6:

谢谢

【问题讨论】:

  • 您是从 MacPorts 获得的,还是试图直接从原始源代码中获得?如果是后者,请尝试前者。
  • 来自原始源代码。最终目标是将库嵌入到我的 Leopard 应用程序中。

标签: c++ xcode stl macos g++


【解决方案1】:

我终于猜对了:

./configure --disable-gch --enable-ub=ppc,i386,x86_64

请参阅mp4v2 issue 58

此外,you use Snow Leopard to build but you also want mp4v2 to be usable under Leopard 时还需要额外的步骤。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 2014-07-02
    相关资源
    最近更新 更多