9得票3回答
当nm找不到符号时处理“dyld:lazy symbol binding failed:Symbol not found”错误

我有一个名为myBinary的Intel二进制文件(32位和64位),在另一台运行Mac OS X 10.8.2的工作站上无法运行: $ myBinary dyld: lazy symbol binding failed: Symbol not found: __ZNSt8__detail1...

9得票2回答
使用C++库链接并在Objective-C应用程序中使用

我正在使用Objective-C编写图形应用程序,使用C++进行图形处理和网络通信。我在苹果官网上寻找了一种方法,以便将包含C++代码的.dylib或.so链接到我的Xcode项目中,但似乎没有什么作用。尽管我已经使项目引用并链接到它,但当我尝试从那个.dylib调用函数时,它会显示不知道我在...

8得票1回答
macOS Mach-O dylib LC_ID_DYLIB名称或install_name的意义是什么?

我正在开发一个macOS dylib框架,该框架是在Xcode之外开发的,我试图理解install_name选项的重要性。 例如,我可以使用install_name参数将LC_ID_DYLIB部分的name设置为更类似于应用程序包中框架的内容。 clang++ ... -install_n...

9得票1回答
在MAC OS X中,如何将静态库的符号隐藏在动态库中?

我正在使用一个静态库(例如:boost.a)和一些*.o文件在MAC OS X中创建动态库(例如:libdynamic.dylib)。 我能够隐藏*.o文件中的符号,因为我使用-fvisibility=hidden标志创建了它们。但是,我无法隐藏boost.a库中的符号,因为它们已经被编译过...

21得票1回答
一个框架的私有模块映射

我正在使用这个答案创建一个模块映射,以创建一个用于CommonCrypto的模块,以便我可以在框架中使用它。 然而,这样做意味着任何我在其中使用此框架的项目都可以使用import CommonCrypto访问CommonCrypto - 更糟糕的是,声明CommonCrypto在另一个框架中...

7得票1回答
install_name_tool无法使用更改“因为较大的更新加载命令不适合”。

我需要使用install_name_tool重新链接文件。这个文件让我更改其中一个dylib路径,但是当我更改第二个(共7个)时,会出现以下错误: install_name_tool: changing install names or rpaths can't be redone for:...

21得票1回答
在Xcode中将源代码附加到二进制dylib文件

我在我的iOS应用程序中有一个框架和动态库,该库是在另一台机器上编译的。 我在我的机器上签出了源代码并尝试使用以下命令指示lldb将源代码路径映射:settings set target.source-map /source/code/path/in/dylib/prefix /source/...

148得票4回答
为什么Xcode 7显示*.tbd而不是*.dylib?

Xcode 7 在Target > BuildPhases > Link Binary With Libraries > 点击 + 按钮 当选择要添加的框架时,你无法找到 *.dylib 文件,而是看到了 *.tbd 文件。 这是什么原因? **对于需要 dylib 的人,请参考此 帖子...

11得票1回答
在Xcode中,我该如何链接动态库(libcurl),以便应用程序也适用于旧版本的Mac OS?

我正在一个在OS 10.7 Lion上构建和编译的Mac项目中使用libcurl。我可以很好地链接到动态库,使用其他链接器标志中的-lcurl选项或将库添加到我的项目中。一切正常。 我希望应用程序也能在OS 10.6和10.5上运行。我相应地设置了部署目标。当我尝试在其中一个版本的操作系统上...

21得票1回答
如何在Xcode 4中使用dylib文件创建一个可工作的框架

我在Xcode中创建了一个新的Cocoa框架,在开始时删除了所有库和文件,只留下支持文件。 我有2个文件:add.h #ifndef add_add_h #define add_add_h void add(void); #endif 并且。add.c #include <std...