728x90
반응형

lib 2

[C++] C#에서 사용할 수 있게 Lib 만들기

C#에서 사용 가능한 C++ 라이브러리를 만들려면 우선 CLR을 사용할 수밖에 없다. 우선은 Win32 Lib를 생성해야 한다. C#에서 사용할 수 있는 것은 Explicit Link임으로 extern "C" __declspec(dllexport)를 이용한 선언을 해줘야 한다. extern "C" __declspec(dllexport) int add_integer(int a, int b) { return a + b; } 이제, C# 콘솔 프로젝트를 만든다. C++프로젝트와 C# 프로젝트는 출력 폴더가 다르기 때문에, 테스트하려면 생성된 dll 파일을 옮겨줘야 한다. 우선 번거롭지 않기 위해서 C++ 출력을 C# bin 폴더로 지정했다. C#에서 외부 라이브러리를 가져오기 위해서 using System.R..

[C++] namespace 사용 시 LNK2019 에러 발생

namespace 사용 시, cpp 파일의 활용을 편하기 하기 위해서 namespace를 정확하게 작성하지 않고 using namespace를 사용 시 link 에러가 발생할 수 있다. //header file namespace file_c { void open_file(); } using namespace file_c void open_file() { // ... } 이라고 했을 때, open_file()을 여러 단계를 거치다 보면 2019 LNK ERROR가 발생하는데, 헤드 파일 라이브러리 링크 등 보통의 경우를 모두 체크하더라도 에러가 발생한다. 그렇기 때문에 헤드 파일과 cpp파일 모두에 제대로 된 네임스페이스 형식으로 구현하도록 하자. namespace file_c { void open_fil..

728x90
반응형