|
안녕하세요. heredity입니다.
질문하신 내용이 C와 C++의 이름 만드는 차이에 대한 문제 같군요(기억이 가물~ 가물~ T_T )
p.c의 Test()는 C 스타일이고
Unit1.cpp에서 참조한 Test()는 C++ Style이므로
1. p.c를 p.cpp로 File명을 바꿔 처리하거나
2. Unit1.cpp에서 Test()에 대한 정의를
extern "C" void Test(char * szText1, char * szText2);
로 정의 하신후 호출해 보시기 바랍니다. 물론 p.h에 정의된
void Test(char * szText1, char * szText2);
은 지우시고요(음~, 컴파일러가 이름을 다르게 해석해서 안 지워도 될 것 같기도 하고.... -ㅅ-;)
행복하세요.
-----------------------------------
링크 님이 쓰신 글 :
: 안녕하세요.
:
: 간단한 C 프로그램을 폼에서 사용하려고 합니다.
:
: 그래서 미리 작성해 놓은 p.c 파일을
:
: Project - Add to Project 에서 추가 하였습니다.
:
: 그리고 Unit1.cpp 에 p.h를 include 를 한 후
:
: 해당 위치에 Test() 함수를 사용하고
:
: 컴파일을 하니
:
: [Linker Error] Unresolved external 'Test(char *, char *) rederenced for G:\temp1\Unit1.obj
:
: 라는 에러가 발생합니다.
:
: 왜 이런 에러가 발생하는지 답변 부탁드립니다.
:
:
: p.c ----------------------
: void Test(char * szText1, char * szText2)
: {
:
: // 내용
:
: }
:
: p.h ----------------------
: void Test(char * szText1, char * szText2);
:
:
|