Ich möchte eine Inline-Funktion schreiben, bekomme aber eine Fehlermeldung. Wie kann ich es reparieren?
Fehlerinformationen:
Undefined symbols for architecture i386:
"_XYInRect", referenced from:
-[BeginAnimation ccTouchesEnded:withEvent:] in BeginAnimation.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Code:
CGPoint location = CGPointMake(60, 350);
if (XYInRect(location, 53, 338, 263, 369)) {
}
inline BOOL XYInRect(CGPoint location, float MixX, float MixY, float MaxX ,float MaxY){
if (location.x >MixX && location.y >MixY && location.x <MaxX && location.y <MaxY) {
return YES;
} else {
return NO;
}
}
Keine Antwort, aber können Sie nicht einfach CGRectContainsPoint verwenden, anstatt Ihren eigenen zu rollen?
– Jrturton
20. April 2012 um 8:57 Uhr
Das Kompilieren mit dem -O2-Optimierungsschalter hat bei mir funktioniert, wie in StackOverflow.com/questions/18939482/… und einer anderen Frage vorgeschlagen, die ich nicht mehr finden kann.
– Devon
29. Dezember 2017 um 2:06 Uhr