2014-03-27 3 views
0

나는 C++ 프로그램, 약 7 헤더 파일 및 7 .cpp 모든 파일을 직접 한 jammed 있습니다. CodeBlocks로 컴파일하려고하면 모든 것이 잘 작동합니다. 전혀 문제 없습니다.Codeblocks 컴파일, GCC 않습니다

그러나 Unix 명령 줄에서 작동하도록 노력하고 있습니다. 내가 실행 오전 (기본적으로) a.out라는 파일을 생성한다

g++ main.cpp 

이를 입력하여 기본 컴파일을하고 있어요.

그러나 정의되지 않은 참조 오류가 발생합니다. 왜 이런 일이 일어나고 어떻게 해결할 수 있습니까?

+3

다른 6 개의 .cpp 파일은 어떻게됩니까? –

+0

정의되지 않은 참조 오류는 각각의 소멸자 및 임의의 몇 가지 방법에 대한 것입니다. – user3308043

+0

main.cpp가 다른 소스 파일에서 함수를 사용하는 경우 g ++을 호출 할 때 main.cpp를 나열해야합니다. –

답변

2

CodeBlocks가 G ++를 사용하기 때문에이 질문이 이상하다고 생각합니다. 명령 줄 g++로 컴파일 할 때

, 당신은 컴파일 및 링크 필요한 모든 소스 파일을 지정해야합니다

g++ -o main main.cpp file1.cpp file2.cpp 

당신은 또한 -l 옵션을 사용하여 라이브러리를 포함해야합니다. 라이브러리는 사용중인 OS 및 플랫폼에 따라 다릅니다.

+1

코드 블록에 g ++에 전달하는 명령 줄을 표시 할 수 있습니까? –

+0

유닉스를 사용하고 있는데 라이브러리를 어떻게 표시합니까? 모든 라이브러리가 기본적으로 포함되어 있습니까? – user3308043

+0

누가 알 겠어, 누가 신경 써? 커맨드 라인 지원에 많은 감사드립니다! 좋은 팁! – user3308043