iphone – 与agvtool版本变量的$non_lazy_ptr链接错误?

iphone – 与agvtool版本变量的$non_lazy_ptr链接错误?,第1张

概述我一直在使用agvtool作为我的一个iPhone应用程序的一般原则,并且最近找到了我希望能够检查版本变量的原因(以便我可以将帮助内容重新复制到Documents目录中,如果它是过时的). MyApp_vers.c中定义的变量MyAppVersionNumber在构建期间自动生成.它是在.o文件中生成的,并显示在链接应用程序本身的(以前的版本?)中.到目前为止,这似乎很好. 所以现在我已经在.m文 我一直在使用agvtool作为我的一个iPhone应用程序的一般原则,并且最近找到了我希望能够检查版本变量的原因(以便我可以将帮助内容重新复制到documents目录中,如果它是过时的). MyApp_vers.c中定义的变量MyAppVersionNumber在构建期间自动生成.它是在.o文件中生成的,并显示在链接应用程序本身的(以前的版本?)中.到目前为止,这似乎很好.

所以现在我已经在.m文件中声明了一个extern double MyAppVersionNumber,我需要使用它(后来尝试使用它,只是在NSLog语句中开始),我尝试为iPhone模拟器构建,得到一个链接错误

"_MyAppVersionNumber",referenced from:      _MyAppVersionNumber$non_lazy_ptr in HelpVIEwController.o     (maybe you meant: _MyAppVersionNumber$non_lazy_ptr)ld: symbol(s) not foundcollect2: ld returned 1 exit status

那么,我需要做些什么来让这个链接?

我用Google搜索$non_lazy_ptr和agvtool,什么都没有,只是$non_lazy_ptr,它提供了一些东西,但主要适用于库,这不是,真的(是吗?).到目前为止,在我的挖掘中,我还没有出现一个关于agvtool的页面,它实际上讨论了使用变量的任何细节 – 我读过的那些只是随便说出来的一个extern变量,我已经完成了.

有谁熟悉这个,和/或能够提供任何帮助?

谢谢!

解决方法 由于agvtool更新了pList的CFBundLeversion值,我建议在运行时访问版本号:

NSDictionary *mainDictionary = [[NSBundle mainBundle] infoDictionary];double myVersionNumber = [(Nsstring *)[infoDictionary objectForKey:@"CFBundLeversion"] doubleValue];
总结

以上是内存溢出为你收集整理的iphone – 与agvtool版本变量的$non_lazy_ptr链接错误?全部内容,希望文章能够帮你解决iphone – 与agvtool版本变量的$non_lazy_ptr链接错误?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1059744.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存