이것이 예일까요?
#include <iostream>
using namespace std;
int main()
{
cout << "Hola, moondo.\n";
}
오류가 발생합니다.
gcc -c main.cpp gcc -o edit main.o main.o: In function `main':
main.cpp:(.text+0xa): undefined reference to `std::cout'
main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
main.o: In function `__static_initialization_and_destruction_0(int,int)':
main.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'
main.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()' collect2: error: ld
returned 1 exit status make: *** [qs] Error 1
또한이 예는 다음과 같습니다.
#include <iostream>
int main()
{
std::cout<<"Hola, moondo.\n";
}
오류가 발생합니다.
gcc -c main.cpp gcc -o edit main.o main.o: In function `main':
main.cpp:(.text+0xa): undefined reference to `std::cout'
main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<<<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char> >&, char const*)'
main.o: In function `__static_initialization_and_destruction_0(int,int)': main.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'
main.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()' collect2: error: ld
returned 1 exit status make: *** [qs] Error 1
참고 : Debian Wheezy를 사용하고 있습니다.
글쎄, 그것은 확실히 문제를 해결했다. 내가 이해하는 것처럼 GCC는 Gnu Compiler Collection의 약어입니다. 필요할 때 g ++ 컴파일러를 호출해서는 안됩니까? 따라서 gcc 명령은 대신 c 컴파일러를 호출합니다.
—
D1X
@ D1X 컴파일러와 별도로 링커를 호출했기 때문입니다. 작성할 때 C ++ 시작 라이브러리가 필요
—
MM
gcc -o edit main.o
하다는 것을 알지 못합니다 main.o
.
Q : 필요할 때 g ++ 컴파일러를 호출해서는 안됩니까? A : gcc 이상은 필요에 따라 gfortran, gjc 등을 불러야합니다.
—
paulsm4
g++
대신 사용해보십시오gcc
.gcc
C 용이며 C ++ 표준 라이브러리에 액세스 할 수 없습니다.