4

背景(可能相关也可能不相关):我正在尝试使用名为j2objc的反编译器,它允许您翻译 Java 代码以在 iOS 应用程序中使用。它的基础库包含一堆 Java 运行时的 Objective-C 翻译。为了添加该代码库,根据它的 wiki ,我应该添加提供.xcodeproj的静态库。这就是我遇到麻烦的地方。

我做了什么:

  • 将提供.xcodeproj的作为子项目添加
  • Build Phases我的主要目标下Target Dependencies,我已经从子项目中添加了适当的目标
  • Link Binary with Libraries我添加了一个名为的文件libjre_emul.a,它是子项目的假定输出。
  • 这一切都按照项目的说明进行,并按计划进行

失败的原因:当我尝试构建项目时,出现以下错误:

clang:错误:没有这样的文件或目录:'/Users/Thomas/Library/Developer/Xcode/DerivedData/tuxblocks-asszlcvjgdqugifxhbkkwcrstotk/Build/Products/Debug-iphonesimulator/libjre_emul.a'

实际上libjre_emul.a那个文件夹里没有,所以 Xcode 是对的。当我自己构建子项目时,我没有得到任何构建错误,所以我假设它在做它应该做的事情,但我也检查了它的输出文件夹,也看不到libjre_emul.a那里。那么为什么没有输出库呢?

可能相关的一点:我尝试使用的库似乎是在 Xcode 3 中创建的,而我正在使用 Xcode 4。我听说那里可能存在一些问题。

我承认我是 Xcode 的新手,所以我可能完全误解了一些东西。无论如何,我当然感谢您的帮助!

编辑:我找到了libjre_emul.a文件。它位于名为 build_result 的子项目下的文件夹中。将它复制到 Xcode 期望它似乎让它运行的地方......

4

1 回答 1

0

在 xcode 设置中,搜索构建设置“Header Search Paths”,然后添加静态框架所在的目录。确保告诉它是递归的,以帮助搜索它的子文件夹。

于 2013-09-10T04:30:04.500 回答