Вам также необходимо скомпилировать Database.cpp
и связать их вместе.
This:
g++ -std=c++0x main.cpp -o test
пытается скомпилировать main.cpp
до полного исполняемого файла.Поскольку код в Database.cpp
никогда не затрагивается, вы получаете ошибки компоновщика (вы вызываете код, который никогда не определяется)
И это:
g++ -std=c++0x main.cpp Database.cpp -o test
компилирует оба файла в исполняемый файл
Последний вариант:
g++ -std=c++0x main.cpp Database.cpp -c
g++ main.o Database.o -o test
Сначала компилируются два файла в отдельные области объектов (.o), а затем связываются между собой в один исполняемый файл.
YouВозможно, вы захотите прочитать о том, как работает процесс компиляции в C ++.