最终我在这里回答了自己的问题。
它编译不通过是因为在将字符串输入UE_LOG之前需要使用TEXT宏。
FString s = "ss";
UE_LOG(LogTemp, Warning, TEXT("%s"), *s);
//or
UE_LOG(LogTemp, Warning, TEXT("ss"));
//this should work
UE_LOG(LogTemp, Warning, TEXT("%s"), *FPaths::GetPath("../"));
应该使用Unreal版本的数据类型而不是使用std库。
如果你非要这么做,那么可以将std::string转换为FString,然后像这样记录日志。
std::string someString = "Hello!";
FString layerName(someString .c_str());
UE_LOG(LogTemp, Warning, TEXT("%s"), *layerName);
UE_LOG(LogTemp, Warning, TEXT("%s"), *s);
- zwcloud