我遇到了一个奇怪的链接器问题。我的代码看起来像这样:
double given_amount = self.modelController.levelCompleteRewardAmount;
swrve_currency_given(swrve, (CFStringRef)@"currencyName", given_amount);
我有这段代码在两个不同的地方:一个是Objective-C文件,另一个是Objective-C++文件。它在Objective-C文件中编译正常,但是在我的WGController.mm文件中,swrve_currency_given()函数导致以下问题:
Undefined symbols for architecture armv7:
"swrve_currency_given(Swrve*, __CFString const*, double)", referenced from:
-[WGController giveTheUserSomeCashForPlayingThisLevel] in WGController.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
我不确定这个错误是否与Obj-C和C++相关,但是它给我一种这样的感觉。我的理论是它可能认为它是Obj-C类上的函数?'swrve' 代码是第三方代码,有一个.h和.c文件,我是这样导入的:
#import "swrve.h"
感谢任何帮助!
swrve
库应该在那里;如果没有的话,请添加它并尝试重新编译。 - Sergey Kalinichenko