In the TopDown example project under Xcode, it seems that C++11 library usage (e.g. std::string) can be compiled properly under the iOS → iPhone 5s scheme, but the linking failed with the following error, is there a missing “-lc++” linker flag that needs to be set in IOSToolChain.cs?
Setting up Mono
Building TopDown…
Compiling with iPhoneOS SDK 9.1
Parsing headers for TopDown
Running UnrealHeaderTool “/Users/me/Projects/UE4/TopDown/TopDown.uproject” “/Users/me/Projects/UE4/TopDown/Intermediate/Build/IOS/TopDown/DebugGame/UnrealHeaderTool.manifest” -LogCmds=“loginit warning, logexit warning, logdatabase error” -rocket -installed
Reflection code generated for TopDown in 6.8821027 seconds
Compiling with these architectures: armv7
Performing 2 actions (8 in parallel)
[1/2] clang++ TopDownGameMode.cpp
[2/2] clang++ /Users/me/Projects/UE4/TopDown/Binaries/IOS/TopDown-IOS-DebugGame
Undefined symbols for architecture armv7:
“std::__1::basic_string, std::__1::allocator >::append(char const*)”, referenced from:
ATopDownGameMode::ATopDownGameMode() in TopDownGameMode.cpp.o
“std::__1::basic_string, std::__1::allocator >::~basic_string()”, referenced from:
ATopDownGameMode::ATopDownGameMode() in TopDownGameMode.cpp.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
-------- End Detailed Actions Stats -----------------------------------------------------------
ERROR: UBT ERROR: Failed to produce item: /Users/me/Projects/UE4/TopDown/Binaries/IOS/TopDown-IOS-DebugGame
Total build time: 20.48 seconds
Command /Users/Shared/UnrealEngine/4.9/Engine/Build/BatchFiles/Mac/RocketBuild.sh failed with exit code 5