gpt4 book ai didi

c++ - 忽略 iOS 应用程序中的库以针对模拟器进行编译

转载 作者:行者123 更新时间:2023-11-30 05:20:03 24 4
gpt4 key购买 nike

我看到一些帖子已经引用了我的问题并解决了它,但它在 2 年前很活跃,我尝试使用它但它对我不起作用(可能是 Xcode 或其他方面的差异)这是相关的帖子:

我有一个项目可以使用 vuforia,一个 c++ 库,但是这个库与模拟器不兼容。我想为模拟器编译我的项目(即使使用 lib 的部分显然不起作用)来测试我的应用程序的其他功能。

在我的build设置中,我有这个:

header 搜索路径:../../build/include

库搜索路径:../../build/lib/arm

Other Linker Flags我什么都没有

在帖子之后,我尝试删除专门用于模拟器的库,目前我有: Library Search Path

编译错误发生变化,现在在我使用该库的 View Controller 之一中出现“找不到 Vuforia/Vuforia.h 文件”。

所以我处理了它,并添加了预处理器指令

#if !(TARGET_OS_SIMULATOR)
....
#endif

它适用于其中的许多,但仍然存在一个错误,即使它位于如上所示的 block 内

#if !(TARGET_OS_SIMULATOR)

#import <QuartzCore/QuartzCore.h>
#import <OpenGLES/ES2/gl.h>
#import <OpenGLES/ES2/glext.h>
#import <sys/time.h>

#import <Vuforia/Vuforia.h>
#import <Vuforia/State.h>
#import <Vuforia/Tool.h>
#import <Vuforia/Renderer.h>
#import <Vuforia/TrackableResult.h>
#import <Vuforia/VideoBackgroundConfig.h>
...
#endif

最后,我还尝试使用Other Linker Flags,但没有用...

你能帮我找到如何只为 iOS 设备绑定(bind)库并在模拟器上运行应用程序吗?

谢谢!

最佳答案

我会避免设置不同的 header 搜索路径。

在为模拟器构建时使用 TargetConditionals.h 来禁用 Vuforia。然后,为了处理链接,我建议使用 OTHER_LDFLAGS 而不是“与库链接”构建阶段,因为您无法按平台条件化该构建阶段。您可以使用 xcconfig 轻松完成此操作,例如:

OTHER_LDFLAGS = -framework Vuforia
OTHER_LDFLAGS[sdk=*simulator] =

关于c++ - 忽略 iOS 应用程序中的库以针对模拟器进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40813489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com