Если вы написали код C ++ с помощью GCC, вы будете знать, что вам нужно использовать программу g ++ как для компиляции, так и для компоновки.Для многомодульных программ это означает, что каждый файл .cpp компилируется с g ++, а затем вся программа должна быть связана отдельно с использованием g ++.Если вы попытаетесь связать программу, используя gcc, она почти сработает, но вы получите много ошибок «неопределенная ссылка», например:
test.cpp :(. Text + 0x11): undefinedссылка на `std :: cout 'Необходимость использования g ++ для связывания всей программы вызывает проблемы, когда у вас очень сложный процесс сборки, которым вы не обладаете полным контролем.Например, я пытаюсь связать код C ++ с Mercury, и мне нужно использовать компоновщик Mercury, который, в свою очередь, вызывает gcc.
Так что просто быстрый совет: если вы вынуждены использовать gcc для ссылкипрограмму, просто добавьте библиотеку «stdc ++», как и любую другую библиотеку, и она будет работать.То есть добавьте параметр «-lstdc ++» в командную строку компоновщика GCC.Например:
g ++ -c hello.cpp
gcc -lstdc ++ -o hello hello.o