본문 바로가기
컴퓨터/프로그래밍 언어

[VS2010] C#에 C++로 만든 DLL 파일 추가하기

by Luyin 2013. 5. 7.

[출처] http://marufloor.tistory.com/79


1. 'DLL'을 Project에 추가

[프로젝트] - [추가] - [참조추가] 를 사용


2. 문제점

1 ) DLL를 참조추가할 때 아래와 같은 오류 발생

"'zzz.dll'에 대한 참조를 추가할 수 없습니다. 파일이 액세스 가능한지, 어셈블리 또는 COM 구성 요소가 올바른지 확인하십시오."


1-1) 해결책

C++ Project에 [프로젝트 속성] - [C/C++] - [일반] - 공용 언어 런타임 지원을 "공영 언어 런타임 지원 (/clr)" 로 설정




2 ) 빌드할때 아래와 같은 오류 발생

/zi' and '/clr' command-line options are incompatible


2-1) 해결책

플랫폼 구성을 [속성] - [구성관리자] - 구성을 "Release"로 변경 후 확인 - 디버그 정보 형식을 "프로그램 데이터베이스 (/Zi)" 로 설정


1), 2) 설정 후 화면은 아래와 같다. 





3) 빌드할때 다음과 같은 에러 추가 발생

/EHs /clr 명령줄 옵션이 호환되지 않습니다.


3-1) 해결책

/EHs 를 제거한다. 

[프로젝트] - [속성] - [구성속성] - [C/C++] - [코드생성] - C++ 예외 처리 가능을 "아니요" 로 설정


참조 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNo=8&no=58238&ref=58238



3. 위와 같은 에러는 다음과 같은 MSDN을 참조하면 된다.

/clr 제한 : http://msdn.microsoft.com/ko-kr/library/ffkc918h(v=vs.80).aspx

/clr를 사용할 때는 다음과 같은 컴파일러 옵션이 지원되지 않습니다.