На AWS Ubuntu Server я написал программу Hello, World на C++:
#include <iostream>
using namespace std;
int main(){
cout<<"Hello, World!"<<endl;
return 0;
}
И скомпилировал ее:
ubuntu@ip-xxxxx:~/dev/c++$ g++ -c ./test.cc -o out
ubuntu@ip-xxxxx:~/dev/c++$ chmod a+x out
ubuntu@ip-xxxxx:~/dev/c++$ ./out
-bash: ./out: cannot execute binary file: Exec format error
ubuntu@ip-xxxxx:~/dev/c++$ file ./out
./out: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
ubuntu@ip-xxxxx:~/dev/c++$ uname -a
Linux ip-xxxxx 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@ip-xxxxx:~/dev/c++$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
Похоже, что архитектура x86-64 одинаковая у всех. В чем здесь проблема? Нужно ли мне добавить больше флагов C++?