小编Dan*_*iel的帖子

目标C:内联函数 - 未找到符号

我有一个使用内联C函数的库,编译得很好.当另一个库引用该库时,它仍然编译好.但是如果一个实际的应用程序引用了库,它就无法编译,说_functionNameHere(是的,函数名以下划线开头) - 符号未找到.

如果我删除内联说明符,它编译都很好.但只要函数在库中内联,app就无法编译!

有什么想法是为什么?

我对编译器非常了解,但我对Objective-C不熟悉,而我所知道的任何东西都只是有根据的猜测.即便如此,我也无法想到它会以这种方式表现的原因.

问题是,内联函数是INLINE,这意味着根本没有符号,无论在何处调用它都是内联编译的,并且引用应用程序甚至不应该知道它曾经存在过.只要内联函数始终是内联函数并且对库是私有的,并且没有特殊的编译器配置阻止内联,并且所有这些都是正确的,这是正确的.

所以,任何人都应该指出我正在做什么/想错了......

谢谢 :-)

compiler-construction symbols inline objective-c

12
推荐指数
1
解决办法
9465
查看次数

Objective-C:我的类有静态方法"没有实现methodSignatureForSelector: - 麻烦未来"

我有一个只有静态方法的实用程序类,所以它不是从NSObject继承的(不需要对吗?)

编译时根本没有警告.

在iPhone模拟器上运行时出现问题.它崩溃时发出警告"没有实现methodSignatureForSelector: - 提前出现故障"嗯,我喜欢那个"麻烦未来"的事情,我从来没有听过一个调试器告诉我有"前方有问题".但是我不喜欢的是错误本身......当我明确地调用静态方法时,为什么期望我在类中实现methodSignatureForSelector?(+)

谢谢!丹尼尔

methods static objective-c

5
推荐指数
1
解决办法
2674
查看次数