terminate
определено в стандартной библиотеке C ++, поэтому убедитесь, что вы связываете это. Предполагая, что вы используете gcc для компиляции, вы должны использовать исполняемый файл g++
для компиляции исходного кода, не исполняемый файл gcc
:
g++ source.cc -o output
При выполнении как g++
компоновщик автоматически связывает вас со стандартной библиотекой C ++ (libstdc ++). Если вместо этого вы выполняете gcc как обычный gcc
, или вы напрямую вызываете компоновщик ld
, то вам нужно самостоятельно добавить -lstdc++
для ссылки в библиотеке, например ::
gcc source.cc -o output -lstdc++ # Compile directly from source
ld source1.o source2.o -o output -lstdc++ # Link together object files