【发布时间】:2017-02-25 02:29:50
【问题描述】:
最近我一直在尝试将字符串存储在变量中。我在网上做了很多搜索,我发现的大多数答案都推荐使用 std::string。所以我写了一个如下所示的测试程序:
#include <iostream>
#include <string>
using namespace std;
int main(){
string s;
getline(cin,s);
cout << s;
}
程序编译得很好,但是,当我运行程序时,我发现了这个错误:`Error Message
我是一个巨大的编程初学者,对正在发生的事情感到困惑。谁能给我一些关于这里发生的事情的见解?谢谢!
另外,我正在使用 GCC 编译器。
编辑:我已经成功解决了这个问题。我所做的只是使用网络上的教程重新安装 GCC。我不知道出了什么问题,但现在已经修复了。
【问题讨论】:
-
你是如何编译你的代码的?
-
使用 g++ 代替 gcc。第二个自动链接标准库。
-
缺失的符号(在我修正了错别字之后)分解为
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(),它更广为人知的是std::string的默认构造函数。这可能是安装问题。 -
你应该显示你的命令来编译程序。如果您还没有这样做,那么使用
g++而不是gcc;或使用gcc -x c++强制c++ 编译。另请参阅 Stack Overflow 上的 Converting std::__cxx11::string to std::string 和 Red Hat 博客上的 GCC5 and the C++11 ABI。 -
我的编译代码是“g++ -std=c++14 test.cpp -o test.exe” 你认为我应该改变什么来编译?如果你已经回答了这个问题,请原谅我,但我还是初学者,所以我还不熟悉这一切。
标签: c++ string variables stdstring