Visual C++ 2017에서 개발한 COM DLL을 Windows XP에서 등록하는 경우 아래처럼 에러가 발생한다.
이 문제는 VC++의 컴파일 옵션에 /Zc:threadSafeInit-를 추가하면 해결할 수 있다.
/Zc:threadSafeInit 옵션은 정적 로컬 변수를 자동으로 스레드에서 안전하게 초기화해주는 옵션으로 Windows Vista 이상에서 제공하는 기능을 사용한다. VC++ 2015 이상부터 제공하는 옵션으로 기본적으로 활성화되어 있다. Windows XP나 Windows Server 2003 이하에서는 제공하지 않는 기능이므로 문제가 생기는 것으로 보인다.
Visual C++ 2015에서는 수정되어 업데이트 되었다고 하는데 Visual C++ 2017에서는 수정이 안 되었고 Windows XP 지원이 종료된 시점이라 앞으로도 수정이 안 될 가능성이 높아 보인다.
'개발' 카테고리의 다른 글
CentOS Apache 환경에 Laravel 배포 (0) | 2024.11.15 |
---|---|
GDI+ Bitmap 복사하기 C++ (1) | 2021.01.01 |
[MySQL] 서브 쿼리(하위 질의) (0) | 2018.08.22 |
[MySQL] 테이블 결합하기(JOIN) (0) | 2018.08.01 |
[MySQL] 추출 결과 합치기(UNION) (0) | 2018.08.01 |
댓글