Я использую Ubuntu 18.
Я установил кодовые блоки ide и голый компилятор gnu gcc (командная строка)
gcc версия 7.4.0 (Ubuntu 7.4.0-1ubuntu1 ~ 18.04.1)
кодовые блоки 16.01
Я написал очень простой код для создания и печати строковой переменной
Блоки кода (со встроенным компилятором gnu gcc) успешно скомпилированы. Но голый компилятор gcc не справляется
Я пытался включить iostream и stdio также
#include <string>
using namespace std;
int main() {
string a = "I am learning C++";
printf("%s",a.c_str());
return 0;
}
codeblocks успешно компилирует его и выдает результат без сообщения об ошибке. Как и Sololearn онлайн-компилятор также
Я учусь C ++
Я попал в папку, где находится файл cpp и дал следующую команду
gcc string_var.cpp -o string_var.out
Bt голый компилятор gcc дает много длинных ошибок компилятора, которые я не могу понять
/tmp/ccen8bfp.o: In function `main':
string_var.cpp:(.text+0x20): undefined reference to `std::allocator<char>::allocator()'
string_var.cpp:(.text+0x37): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
string_var.cpp:(.text+0x43): undefined reference to `std::allocator<char>::~allocator()'
string_var.cpp:(.text+0x4f): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const'
string_var.cpp:(.text+0x74): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
string_var.cpp:(.text+0x96): undefined reference to `std::allocator<char>::~allocator()'
string_var.cpp:(.text+0xb0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/ccen8bfp.o:(.data.rel.local.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0'
collect2: error: ld returned 1 exit status