- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我还不是集成开发环境的粉丝,但我正在努力克服我的偏见并学习 Xcode。 (接下来是 Eclipse/CDT;我去年尝试时也无法让它为我工作,但这是一个单独的问题。)
我正在一个新项目中编写一些新代码,该项目将成为一个小型库(的一部分)。我也想对它进行单元测试。我如何向 Xcode 解释我正在构建一个(共享)库,但我也想在测试程序中使用它,从不会在共享库中的单独源编译?
源代码:
atom.c
和
atom.h
编译进库。我只是不确定如何组织事物以便我也可以构建
test-atom
与图书馆链接。
最佳答案
您的项目中需要两个目标; Xcode 中的目标生成一个产品,它是一个库、可执行文件或其他一些输出。
因此,您将有一个目标来生成 libatom.dylib
,我怀疑您已经设置了它,以及另一个命令行可执行目标来生成 test-atom
可执行文件供您运行以测试您的库。
添加 test-atom
后目标,您应该在 test-atom.c
上获取信息并从 libatom.dylib
中删除其成员资格目标,并将其添加为您的新成员 test-atom
目标。文件的目标成员资格决定了构建目标是否会尝试编译/复制/链接该文件。 (目标对文件的作用取决于它成为成员时添加到的构建阶段。)
您还应该在 libatom.dylib
上获取信息进入您的产品组,并使其成为 test-atom
的成员目标也是如此。这将导致 test-atom
可执行链接到 libatom.dylib
.
最后,在 test-atom
上获取信息目标(不是产品)并在“常规”选项卡中,添加对 libatom.dylib
的依赖项目标。这将确保构建 test-atom
目标将始终首先构建 libatom.dylib
目标。
关于unit-testing - 如何在 Xcode 中组织库项目的单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1319906/
我是一名优秀的程序员,十分优秀!