我试图将biicode支持添加到测试库Catch中,并且在与Objective-C和Microsoft基础类(MFC)相关的外部依赖项方面遇到了一些问题。
如果运行bii deps
,则会显示以下内容:
florianwolters/catch depends on:
system:
algorithm
assert.h
cmath
cstddef
cstdio
cstring
fstream
iomanip
iostream
iterator
limits
map
memory
ostream
set
sstream
stdbool.h
stdexcept
stdint.h
stdlib.h
streambuf
string
sys/time.h
sys/types.h
unistd.h
vector
windows.h
unresolved:
AfxWin.h
Foundation/Foundation.h
objc/runtime.h
sys/sysctl.h
这三个文件
sys/sysctl.h
,objc/runtime.h
和Foundation/Foundation.h
与Objective-C中的iOS开发有关。文件AfxWin.h
是Microsoft的C++库Microsoft基础类(MFC)的一部分。我创建的biicode块是florianwolters/catch(有关更多信息)。所以问题是:如何处理这种依赖关系?尽管我尚未检查许可证,但将Apple或Microsoft拥有的源代码(甚至可能是非法的)上载到 bicode 毫无意义。
是“适当”或推荐的方法来简单地忽略这些 Unresolved 问题吗?
编辑2015-01-11:
我写了一篇关于here进程的博客文章。如果我有任何错误或对改进工作流程有任何建议,请告诉我。
最佳答案
是的,目前这是正确的方法。 Biicode预定义了一些系统 header ,它们是Win和Nix平台的基本 header ,但不是全部。通常,在biicode中找不到OSX或其他特定的 header (如MFC),然后将其标记为未解析。
这根本不是问题。您自己的库也会发生同样的情况。如果您想使用系统上安装的任何库,则可以像往常一样轻松完成操作(在带有Finders的CMake中,或在导入的目标中)。 Biicode会将未包含的该库的 header 标记为未解析,这是表明该库不受biicode管理的方式。只要您的计算机中存在这些 header ,一切都将正常工作。
关于header - 在Biicode中处理 Unresolved 依赖于平台的依赖项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27886107/