我正在尝试使用 libaws使用 AWS-S3 服务器。 测试应用程序运行完美,但是当我尝试使用这个库做我自己的应用程序时它不起作用。 第一个问题是函数:
AWSConnectionFactory::getInstance()->getVersion();
我返回一个包含库版本的字符串(在本例中为 0.9.3)。 示例应用程序在我打印时显示“0.9.3”,但在我自己的应用程序中它每次都显示不同的字符串(也有不同的大小)。例如:“'K\217\214\377\2212A\244\242]7\340m P%A\240\355@"
我使用的是 mac (10.8) 和 xCode,我正在将库链接为静态库。 有什么建议吗? 链接过程有问题吗?
最佳答案
好的,我找到了答案。
xCode 中有两个配置标志来定义c++ 库的版本。 进入:“Apple LLVM 5.0 - 语言 - C++” -> “C++ 语言方言”和“C++ 标准库”。
当使用 cMake 生成项目时,就像在本例中一样,这些值被设置为“编译器默认值”。 但是,xCode 在生成新项目时设置这些值,并且这些值不是“编译器默认值”。
这种差异会改变字符串定义(或类似的东西),并产生错误的答案。
关于c++ - 在样本外使用 libaws 时返回随机字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21697374/