MacOS 10.9.5上的StgCreateDocfile等

时间:2014-12-25 00:15:33

标签: xcode osx-mavericks

我无法使用AAF SDK链接Xcode项目,在MacOS 10.9.5上使用Xcode 5.1.1。当我链接主动态库时,这些符号会丢失:

_StgCreateDocfile _StgCreateDocfileOnILockBytes _StgOpenStorage _StgOpenStorageOnILockBytes AssertProc

我无法在SDK的整个源代码树中的任何位置找到它们的定义。前四个似乎是Windows上结构化存储的一部分。 SDK中提供了结构化存储库,我已将其链接起来。

有人能告诉我一个定义这些的Mac系统库吗?或者是否有一个链接器参数为它们提供了一个库?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

迟到的答案(!),但万一有人碰到这个......解决方案是:

  1. 使用带有AAF SDK的makefile生成AAF dylib, 哪个工作正常。或...

  2. 如果您使用Xcode构建AAF SDK,请确保正确无误 保留#defines,即:

    _DEBUG OM_DEBUG OM_STACK_TRACE_ON_ASSERT OM_USE_SCHEMASOFT_SS OM_STRUCTURED_STORAGE

    请注意,DEBUG=1不存在(默认情况下由Xcode添加) - 如果已定义,则会引入AssertProc。在发布版本上定义NDEBUG并省略调试定义。 正如您所述,Stg ...函数是结构化存储的MS实现的一部分,但不应在Mac上引用,即使用Schemasoft实现。