컴파일 레벨에서는 큰 문제없이 조정가능한데...
링킹할때 요상스런 메시지와 함께 에러가 뜨는 경우...
C함수를 프로토타이핑하고 있는 헤더를 include할때
#ifdef cplusplus
extern "C"
{
#endif
#include .....
#ifdef cplusplus
}
#endif
를 씌워주고 새로 컴파일 하면 됨.
이유는 말로 설명하자면 길어짐. 암튼 링킹할때 symbol을 Visual Studio가 못찾는 거임. prefix가 C++용 일떄와 C용일때 다르다는 정도만 알고... 그냥 습관적으로 마촤주자~
근디...
만약 MFC에서 커맨드라인용으로 컴파일 하다보면 저렇게 해도 안될꺼임.
걔는 디폴트로 "cplusplus"가 정의가 안 되어 있기 땜시롱...
그랄땐 그냥 무작정 extern "C" { ... }로 씌워버리삼.
댓글 없음:
댓글 쓰기