我们有一个用C ++编写的Windows应用程序,其中一部分是我们尝试移植到Mac OS X.我们的目标是将业务逻辑包装到一些库中,并在控制器和GUI的顶部构建一个Cocoa层。我们可能会有几个较小的应用程序使用相同的库,所以我们首先想到的是为C ++代码使用动态库(除非有更好的方法)。 但是,我们在实现这一目标时遇到了一些问题。我们的动态库符合要求(至少看起来像这样),我们得到一个.dylib文件,我们在应用程序中链接到该文件。问题是我们的应用程序根本无法找到我们试图包含的任何.h文件。 我们已经检查了.h文件是否正在导出以及检查安装名称并确保该库位于正确的目录中。此外,我们遵循Apple的创建和使用动态库的指南,并没有发现我们缺少的特殊步骤。
我的问题分为两部分:
PS:到目前为止,我们只在Xcode 4.2中工作,还没有尝试使用命令行工具。
答案 0 :(得分:1)
选项1
在这种情况下,我只需将包含标头的目录添加到Xcode中的标头或库的发现路径中。根据布局,某些方法会比其他方法更好。
通常,您将使用以下组合:
HEADER_SEARCH_PATHS
LIBRARY_SEARCH_PATHS
USER_HEADER_SEARCH_PATHS
FRAMEWORK_SEARCH_PATHS
哪一个是正确的取决于您使用的库(例如,这些选项也会影响链接器)。定义发现路径时,可以添加后缀**
以表示递归搜索。
这是理想的,因为您可以减少使xc项目与其解决方案保持同步的麻烦。
选项2
有些人真的喜欢对其包含的拖放支持...我不这样做,但如果有太多的混乱,你不能只做一些简单的添加搜索路径的方法: