XCode中链接库的顺序

姓名

在XCode项目中,我具有linkend一个库(libpng)和一个框架(opencv)。该框架已经包含我的库的旧版本。

现在,当我进入“链接二进制文件与Libraies”中的XCode时,如果我将opencv首先放在,将libpng放在第二位,我的代码将使用opencv中的内容,即较旧的版本。

我的问题:是否可以在编译时知道我的项目将使用哪个版本的libpng?我想确定的是,即使有人弄乱了我的图书馆的链接顺序,我仍然会使用适当的图书馆。

我已经尝试过的是使用编译指令检查libpng的版本,如下所示:

#if PNG_LIBPNG_VER_MINOR !=6
  #error "Wrong libpng version. Required is 1.6.9."
#endif

但这不是解决方案,因为在标头中PNG_LIBPNG_VER_MINOR声明的头总是正确的。只是在代码中可能会调用错误的方法。

谢谢!

贾斯汀

是否可以在编译时知道我的项目将使用哪个版本的libpng?

在这种情况下不行。翻译的参数不同于链接器的参数。没有保证。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章