Visual Studio 2010에서 libexif를 컴파일 할 수 있습니까? 저는 그렇게하기 위해 노력해 왔으며 많은 어려움을 겪어 왔습니다. 아무도 성공적으로이 작업을 수행했는지 여부에 대한 정보를 찾을 수 없습니다. MinGW를 사용하여 라이브러리를 컴파일 할 수는 있지만 Visual Studio로 컴파일 한 다음 Visual C++ 응용 프로그램에서 링크해야하는 상황에 처해 있습니다. 이것이 가능한가?Visual Studio 2010에서 libexif를 정적 라이브러리로 컴파일 한 다음 Visual C++ 프로젝트에서 연결
답변
"readme-win32.txt"파일을 읽으십시오. 조언 :
어떻게 든 구조 시스템을 해킹합니다.
이것은 일을하는 Windows 방식 인 것 같습니다.
희망을 얻지 마십시오. 일을하는 * nix 방식은 먼저 실행해야하는 구성 스크립트입니다. 그것은 * nix의 특정 풍미에 도서관을 결혼하기 위해 소스 파일을 자동으로 생성합니다. 구성 스크립트는 거의 반 메가 바이트입니다. 실제 .c 파일의 3 배 많은 코드 :) MinGW가 없으면 합리적으로 작업을 수행 할 수 없으므로 스크립트를 실행할 수 있습니다. 이 작업을 완료하면 VS 솔루션을 사용하여 더 나은 결과를 얻을 수 있습니다. C99 고유 구문을 너무 많이 사용하지 않는 한.
질문에 대답하려면 : 예 가능하지만 ... 조금은 해킹입니다. Libexif는 MSVC가 구현하지 않기로 선택한 기능을 사용합니다. 아래에있는 내 작업의 예 VS2010 프로젝트는 (당신이 파일을 다운로드 마음에 들지 않는 경우 다음 아래 작업을 얻기 위해 변화 필요로했던 내 설명을 생략)를 참조하십시오 :
https://www.dropbox.com/s/l6wowl8pouux01a/libexif-0.6.21_CompiledInVS2010%2BExample.7z?dl=0
가 정교하게하려면 문제를 필요로하는 합니다 (LibExif 추가 정보 - win32.txt 설명서의 암시로) "해킹"는 다음과 같습니다
Libexif는 C 만 C에 대한 VS에 정의되지 않은 여러 장소에서 인라인을 사용 ++ (참조 this)
Libexif 당신은 당신을 도울 수있는 ./configure를 명령없이 config.h 파일을 직접 작성해야
(here 참조) VS에 정의되지 않은 코드에 광범위하게 현재 snprintf를 사용합니다. 스크립트를 통해 읽을 수는 있지만 대부분은 Windows VS2010에 적합하지 않습니다.
GETTEXT_PACKAGE는 구성 파일에 설정되어 있기 때문에 정의해야합니다. UTF-8을 선택합니다. 그게 맞는지 아닌지는 확실하지 않습니다.
랜덤 부호가없는 static * .c 파일에서 .h 파일로 이동해야합니다. VS에서는 C가 특정 방식으로 함수 내에 새 변수를 만들 수 없습니다. 하려고하는 것.
나는 이것이 오래된 문제라는 것을 알고 있지만 나는 또한 같은 문제를 겪고있다. .h 파일이 여전히 필요하지만 DLL (예 : 김프의 libexif.dll)을 찾고 dumpbin을 사용하여 .lib 파일을 만드는 것이 더 쉬울 수 있으며 libexif의 .h 파일은 config.h 파일을 생성해야합니다 . – ALM865