相关疑难解决方法(0)

如何使带有自制库的 Xcode 项目可移植?

我已经使用 Brew 在我的 mac 上安装了 FreeType。我的 mac 上的代码工作正常,但是当我尝试在其他 mac 上运行该项目时,我收到下面提到的链接错误。

dyld: Library not loaded: /usr/local/opt/freetype/lib/libfreetype.6.dylib
Referenced from: /Users/ashutosh/Library/Developer/Xcode/DerivedData/InstrumentChamp- 
etytleaabhxmokadgrjzbgtmwxfl/Build/Products/Debug/instrumentchamp.app/Contents/MacOS/instrumentchamp
Reason: image not found (lldb) 
Run Code Online (Sandbox Code Playgroud)

当我尝试在其他 Mac 上运行代码时,Freetype 的所有库目录和包含目录都包含在项目的“$SRCROOT/”目录中。

您在库的链接错误中看到的路径是brew 在我创建此项目的mac 中安装freetype 的位置。

/usr/local/opt/freetype/lib/libfreetype.6.dylib
Run Code Online (Sandbox Code Playgroud)

我已将所需的所有 lib/ include/ 目录复制到我的项目的主文件夹中。
我已经在 Xcode 中设置了库并包含路径。

我在这里缺少什么?我还需要做什么才能使我的代码在任何其他 Mac 上可移植。我通过安装 Brew 让项目在其他 Mac 上运行,但我想不需要安装 Brew 即可完成此操作。

PS:我必须使用brew安装freetype,因为我无法为32位处理器的freetype编译.dylib,.dylib的64位副本给我错误,例如“错误的架构!”

opengl macos xcode homebrew freetype

6
推荐指数
1
解决办法
6315
查看次数

如何在制作Swift Command line工具时使用carthage库?

我收到了错误

dyld: Library not loaded: @rpath/libclang.dylib
  Referenced from: /Users/hakonbogen/Library/Developer/Xcode/DerivedData/SwiftFormat-edvvyjtkenmgpacnoypycvtuxctn/Build/Products/Debug/SourceKittenFramework.framework/SourceKittenFramework
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

尝试在XCode中构建我的命令行工具时.我已经构建了carthage,因此框架位于正确的文件夹中. 在此输入图像描述

并完成Link Binary With Libraries: 在此输入图像描述

我也尝试过添加复制文件 在此输入图像描述

但似乎没有任何效果.有没有人有什么建议?

xcode carthage

5
推荐指数
0
解决办法
843
查看次数

Swift 共享库为命令行应用程序静态链接?

我正在尝试在 Mac OS X 的 Swift 应用程序中使用外部框架。外部框架也使用 Swift,因此依赖于 Swift 共享库(例如,libswiftCore.dylib)。这是通过命令验证的

$ otool -L PromiseKit.framework/PromiseKit
PromiseKit.framework/PromiseKit:
    ...
    @rpath/libswiftCore.dylib (compatibility version 0.0.0, current version 0.0.0)
Run Code Online (Sandbox Code Playgroud)

抬头@rpath看见

$ otool -l PromiseKit.framework/PromiseKit
      ...
      cmd LC_RPATH
  cmdsize 40
     path @executable_path/Frameworks (offset 12)
Run Code Online (Sandbox Code Playgroud)

所以在运行时我希望@rpath解决@executable_path/Frameworks

问题

我收到运行时错误

$ otool -l PromiseKit.framework/PromiseKit
      ...
      cmd LC_RPATH
  cmdsize 40
     path @executable_path/Frameworks (offset 12)
Run Code Online (Sandbox Code Playgroud)

查看包含我构建的可执行文件的文件夹,我没有看到Frameworks文件夹。

尝试修复失败

我尝试设置EMBEDDED_CONTENT_CONTAINS_SWIFTYES我的应用程序,但是这仍然不能创建Frameworks文件夹。

我尝试手动创建Frameworks文件夹并在 Swift 共享库中复制(从/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx. …

xcode dynamic-linking static-linking mac-frameworks swift

4
推荐指数
1
解决办法
2748
查看次数