c++ 분할 컴파일 문의 드립니다.
2014.05.24 20:34
질문하시기 전에 게시판 검색을 먼저 해주세요.
타블릿PC, 스마트폰에 관한 질문 또는 요청은 <포터블기기 질문답변> 게시판을 이용해주세요.
============================================================================================
안녕하세요, 해색주입니다. C++를 리눅스에서 컴파일하고 있는데, 질문이 있어서 올려 봅니다.
이번에는 기존에 기나긴 프로그램을 몇 개의 cpp 파일과 헤더 파일로 분류해서 만들었습니다. 이렇게 파일들을 분리해서 만들었습니다.
main 함수 : main.cpp
Account 함수 : Account.h / Account.cpp
Donation : Donation.h / Donation.cpp
Credit :CreditAccount.h / CreditAccount.cpp
AcctManager : AcctManager.h / AcctManager.cpp
예전에는 터미널에서 g++ -o kj kj.cpp 이런 식으로 컴파일을 했습니다. 이번에는 에러가 발생하네요.
kjpark@kjpark-VirtualBox:~/Dropbox/012_c++/oop7$ g++ -o bank_kj main.cpp
/tmp/ccGKy72m.o: In function `main':
main.cpp:(.text+0x16): undefined reference to `AcctManager::AcctManager()'
main.cpp:(.text+0x25): undefined reference to `AcctManager::PrintMenu()'
main.cpp:(.text+0x6e): undefined reference to `AcctManager::MakeAccount()'
main.cpp:(.text+0x7f): undefined reference to `AcctManager::Deposit()'
main.cpp:(.text+0x90): undefined reference to `AcctManager::Withdraw()'
main.cpp:(.text+0xa1): undefined reference to `AcctManager::Inquire()'
collect2: error: ld returned 1 exit status
아, 혼자서 공부하니 물어볼 사람이나 강의를 듣지 못하니 이런 당연한 부분에서 힘드네요. 이런저런 옵션 설정하기가 힘들어서 리눅스로 넘어왔는데, 이거 기본적인 컴파일 설정도 안되니 힘드네요. 가르침 부탁 드립니다.
코멘트 6
-
영준
05.24 22:05
-
음 AcctManager : AcctManager.h / AcctManager.cpp 이것이 인크루드 안된것이 확실합니다. ^^;
-
해색주
05.26 16:14
그 부분 확인했습니다. ^^ 감사 드려요.
-
왕초보
05.29 05:24
make 같은 툴 쓰면 좀 편합니다만.
-
해색주
05.29 23:00
make가 툴인가요? 검색은 한 번 해봤는데 잘 이해가 안가더군요.
-
왕초보
05.30 03:04
예.. 소스파일(들)의 dependency를 정의하고, 어떻게 소스파일들이 컴파일되는지를 정의할 수 있습니다. make를 잘 쓰는 사람은 거의 스위스 아미 나이프 처럼 씁니다. 그런데 70년대 툴이죠. ^^ 나이 인증.. OTL
저는 제 논문을 make를 써서 썼다는.. ( ..)