1. Generate DLL (Native C++)
일단 아래 링크를 따라서 C++ DLL 을 생성한다.
주의할 점은 [To copy the DLL in a post-build event] 항목을 제외하고 진행을 해야 한다는 점이다.
이 항목을 제외하고, 생성된 DLL 과 LIB 파일을 CLIENT 프로젝트로 복사해서 사용한다.
Walkthrough: Create and use your own Dynamic Link Library (C++)
Walkthrough: Create and use your own Dynamic Link Library (C++) In this article --> This step-by-step walkthrough shows how to use the Visual Studio IDE to create your own dynamic link library (DLL) written in C++, and then use it from another C++ app. DLL
docs.microsoft.com
이 예제에선 클래스가 아닌 함수만을 이용했는데 클래스를 사용하면 더 간단하다.
class __declspec(dllexport) CSimpleClass {
// code
};
이런 식으로 하고 나머지 함수들은 생략하면 된다.
참고: https://blog.danggun.net/799
c++ DLL을 C#에서 사용해보자 ( 클래스 마샬링 )
관련글 c++ DLL을 C#에서 사용해보자 ( 함수 마샬링 ) c++ DLL을 C#에서 사용해보자 ( 클래스 마샬링 ) 클래스 마샬링을 할일이 없엇 신경을 안쓰다가 요번에 스카이프 api나 제가 직접 마샬링 해볼까 해서 클래스..
blog.danggun.net
2. Client Project (C++/CLI)
클라이언트 프로젝트에도 Native C++ 에서 추가했던 링커나 인클루드 디렉토리들을 동일하게 설정한다. (librealsense.lib, opencv.lib)
전 단계에서 생성된 DLL 과 LIB 파일을 클라이언트 프로젝트 폴더로 복사한다.
-> 단점: 소스를 수정한 수 DLL을 빌드 할 때마다 복사 붙여넣기를 해야 한다. (아마 다른 방법이 있을 것이다)