2010-04-06 5 views
0

바로 C++에서 C 라이브러리를 사용하려고합니다. 실제로 헤더를 선언 할 때 extern "C"및 포함 설정을 포함 할 것이라고 생각하기 전에이 작업을 수행하지 않았습니다. "기본"플래그로 컴파일하지만 난 여전히 링커 오류가 발생하고 헤더 파일을 DLL로 준수해야 할 수도 있습니다 생각합니다. 나는 정말로 모른다.Visual C++에서 C 클러스터 라이브러리 사용

라이브러리가 문제가 되나요? 아니면 저입니까? 클러스터에 몇 가지 make 파일이 있습니다. 1.47 \ src이지만, "cluster.h"와 관련이 있는지 어떻게 알 수 없습니다. 누군가를 위해 비주얼 스튜디오 2008 프로젝트를 올렸습니다. 시간을내어 벽에 머리를 대고 있으면 도움이 될 것입니다.

감사

스테판

Link to Visual Studio 2008 Project

답변

0

헤더 파일에는 함수 선언 만 포함됩니다. 또한 라이브러리가 소스로 배포되는 경우 .c 파일에 포함되거나 라이브러리가 바이너리 배포 인 경우 .LIB 및/또는 .DLL 파일에 포함될 기능의 구현이 필요합니다. 어느 쪽이든. .h 파일만으로는 충분하지 않습니다.

0

당신은 아마 프로젝트에 라이브러리 파일 (.LIB)를 추가해야합니다. 한 가지 방법은 입력 섹션의 링커 설정 아래에있는 추가 종속성 값에 추가하는 것입니다.

프로젝트에서 좀 더 자세히 살펴보면서 참조하는 기능이있는 소스 코드가있는 폴더/디렉토리가 있음을 확인했습니다. 나는 그것이 완전한지 보지도 않았고 나는 그 도서관에 익숙하지도 않았다. 하지만 프로젝트에이 파일들을 간단히 추가 할 수 있습니다.

+0

아, 정적 라이브러리 파일 만 헤더 파일이 없습니다. _winmain에서 참조 된 함수를 찾을 수 없다는 메시지가 나타납니다. 그러나 인텔리 센스는 서명을 선택합니다. – Pepe

+0

@Stefan : 해당 함수가 포함 된 기존 DLL이 있습니까? –

관련 문제