헤더 파일 (예 : "Defines.h")를 포함한 추가
:
#pragma once
#ifdef COREDLL_EXPORTS
#define COREDLL_API __declspec(dllexport)
#else
#define COREDLL_API __declspec(dllimport)
#endif
함수가 다음과 같은 헤더에 정의되어야한다 :
,
#include "Defines.h"
extern "C"
{
COREDLL_API int image_blanche(char const* nom_img,double k);
};
... 소스 파일에 구현되었습니다.
해당 프로젝트를 컴파일하여 COREDLL_EXPORTS를 DLL 프로젝트로 정의하고 다른 프로젝트에서 DLL을 사용하십시오.
COREDLL_EXPORTS가 정의 된 DLL을 빌드 할 때 기본적으로 심볼을 생성 (= 내보내기)하고 DLL에 배치합니다. COREDLL_EXPORTS가 정의되지 않은 다른 프로젝트에서 DLL을 사용할 때 DLL에서 기호를 사용/읽는 (= 가져 오기). 여기
는 다음 DLL에서 함수를 호출 할 수있는 방법의 좋은 설명입니다
Dynamic Invoke C++ DLL function in C#
업데이트 : MSalters으로은 제대로 건너 친화적 인 재생 될 때, 고려되어야한다 C 스타일 데이터 유형을 사용하여, 지적 DLL 경계. 대신 문자 배열을 사용하도록 문자열 매개 변수를 변경했습니다.
컴파일하면됩니다. – CoryKramer
예 그리고 오류없이 작동 – user3770614
프로젝트 속성에서 빌드 유형을 dll로 변경하고 빌드하십시오. – user2970916