Из исходных файлов создаются символы. main
в файле .cpp становится _main
в качестве символа. Во время связывания может быть только одна функция main
, поэтому ожидается и разрешен только один символ _main
.
У вас есть три объектных файла, которые были созданы:
- obj / Debug / main.o, который содержит
main
- obj / Debug / src / test.o
- obj / Debug / test03.o, который также содержит
main
Возможно, потому что у вас есть файл .cpp для каждого из них, и командная строка или IDE, которую вы используете, попросили их все скомпилировать.
duplicate symbol _main
Приведенный выше текст говорит вам, что компоновщик (пытаясь разобраться во всех файлах скомпилированных объектов (.o)) нашел более одного main
.
Таким образом, решение состоит в том, чтобы просмотреть ваши настройки IDE и удалить другие файлы (или, по крайней мере, удалить main
из других файлов), потому что вы заинтересованы только в компиляции одного исходного файла.