Я использую g ++ 9.2.1 и binutils 2.34. Я использую Manjaro 19.0.2 с linux ядром 5.4.23-1. Все получается из бесплатной sh установки Manjaro, которую я только что сделал, думая, что это решит проблему.
При компиляции следующей супер простой программы:
#include <iostream>
int main()
{
std::cout << "Hello" << std::endl;
return 0;
}
Если я запустлю g++ main.cpp -o program
, все в порядке, и я получаю Hello при выполнении ./program.
Однако, когда я запускаю g ++ main. cpp -o main.o, это работает, но потом, когда я запускаю g ++ main. o -o программа, я получаю следующие ошибки:
/usr/bin/ld: main.o: _ZSt4cout: invalid version 3 (max 0)
/usr/bin/ld : main.o : error adding symbols: bad value
collect2: error: ld return 1 exit status
Я понятия не имею, откуда это может появиться.