2013-02-19 1 views
0

저는 C++을 처음 사용하고 프로그램을 컴파일하는 데 문제가 있습니다. 나는 Driver.cpp 파일에 main()을 가지고 있고, 2 개의 헤더 파일에는 각각 .cpp 개의 파일이 들어있다. 그들은 모두 같은 디렉토리에 있습니다. Driver.cpp 파일은 나머지 헤더 파일 중 하나에서만 함수를 호출하며 나머지는 수행합니다. 내 문제는 "정의되지 않은 기호가 처음 파일에서 참조 된"오류가 계속 발생하면서 코드를 컴파일 할 수 없다는 것입니다. 나는 컴파일 코드를 작성하는 많은 다른 방법을 시도했지만 아무 것도 작동하지 않는다. 여기 제가 시도한 것이 있습니다 :Linux에서 사용자 정의 헤더 파일로 C++ 프로그램을 컴파일 할 수 없습니다.

"g++ -lm -o outputfile headerOne.cpp headerTwo.cpp Driver.cpp" 

누구든지 나를 도울 수 있다면 크게 감사하겠습니다. 감사!

편집 : 그건 그렇고, 비주얼 스튜디오에서이 코드를 리눅스에 넣기 전에 시도해 보았습니다. 그게 무슨 뜻인지는 모르겠지만 여기에 그걸 추가 할거라고 생각했습니다. 몇 가지 코드를 첨부해야하는지 알려주세요. 코드 이후

+2

몇 가지 코드를 게시 할 수 있습니까? 어쩌면 헤더와 구현 파일이 너무 크지 않으면 ... 정확한 오류 메시지는 무엇입니까? 이 함수는 어디에 구현되어야 하는가? –

+0

일반적으로 "정의되지 않은 기호"는 컴파일러가 정의를 찾을 수 없음을 의미합니다. 이는 일부 헤더 파일이 포함되지 않았거나 조건부 컴파일로 인해 정의가 건너 뛴다는 것을 의미합니다. –

+0

더 많은 코드 또는 대부분의 코드를 게시해야합니다. – Mikhail

답변

1

는 리눅스 환경에 대한 몇 가지 지침을 줄 수있는이 링크를 읽어 포함하여 가정 하겠어 비주얼 스튜디오에서 작동합니다! 내 .cpp 파일에 정의 된 일부 변수가 .h 파일에서 "extern"으로 정의되지 않았으며 함수 정의에 "inline"이 누락되었습니다. 어쨌든 모든 도움을 주셔서 감사합니다!

관련 문제