I have an iOS app that works fine in Xcode 4.5.2 but in Xcode 4.6.3 i get undefined symbols for my custom c++ classes.
SomeClass.hpp
class SomeClass{
public:
SomeClass();
void doStuff();
}
SomeClass.cpp
#include "SomeClass.hpp"
SomeClass::SomeClass(){
// ra ra ra
}
SomeClass::doStuff() {
// ra ra ra
}
CallingClass.mm
#include "SomeClass.hpp"
@implementation CallingClass
-(void) execute{
SomeClass someObject;
someObject.doStuff();
}
@end
Error
Undefined Symbols for arm7:
SomeClass::SomeClass() referenced from:
-[CallingClass execute:] in CallingClass.o
The .hpp files are set to C++ Headers, the .cpp files are set to C++ Source, and the .mm files are set to Objective-C++ Source.
Each of the .cpp files are present in Build Phases/Compiled Sources.
libc++.dylib is included in the project for a library that i'm using.
The 4.6.3 C Language Dialect is c11 while in 4.5.2 its C99[-std=c99]. The C++ Language Dialect and C++ Standard Library are set to Compiler Default in both version of Xcode.
The compiler is Apple LLVM 4.2 in Xcode 4.6.3 while its LLVM 4.1 in 4.5.2.
Any guidance would be highly appreciated.
Cheers