저는 C++을 처음 접했고 컴파일과 링크에 어려움을 겪고 있습니다. 최근 cmake와 make를 사용하여 Boost (Cmake does not find boost 1.51 (windows 8))를 사용하는 라이브러리 (mlpack)를 다시 컴파일했습니다.C++ windows 바이너리 : MinGW와 함께 사용되는 조건
첫 번째 시도에서 Windows 용 사전 컴파일 된 바이너리를 다운로드했습니다. 이것은 잘 작동하지 않았고, 나는 MinVW가 아니라 MSVC를 위해 사용하고있는 바이너리가 문제라고 설명했다. 그리고 실제로 MinGW를 사용하여 부스트를 다시 컴파일 한 후에는 문제가 없었습니다.
여기서 MSVC와 MinGW의 바이너리 간의 차이점에 대해 직관을 얻고 싶습니다. 나 (순진하게?) 바이너리는 OS/프로세서에 한정적이라고 생각했습니다. MinGW에서 사용할 수 없게하는 MSVC 용 바이너리는 무엇입니까?
난 아직도 혼란 스러워요. 이것은 일단 당신이 당신의 시스템을 위해 컴파일하면, 당신의 라이브러리는 당신의 시스템에있는 모든 프로그램에 의해 여전히 사용 가능하지 않다는 것을 의미합니까? 모든 기존 컴파일러에 대해 컴파일해야한다는 의미입니까?그리고 특정 컴파일러 용으로 컴파일 된 바이너리를 제외하고 결코 바이너리를 다운로드 할 수 없습니까? 언어 비유를 위해 MSVC 라이브러리는 프랑스어로, MinGW는 프랑스어로도, 창문에는 프랑스어로도 안돼, 안돼? – Vince
@Vince 나는 그것을 더 설명하려고 노력했다. 그러나 Haroogan이 문제가 발생하는 이유에 대한 좋은 링크를 제공했다고 생각합니다. 너는 그들을 체크 아웃해야한다. – stardust
감사합니다. 그냥 명확히하기 : 이제 iconv 바이너리를 다운로드하고 iconv.lib가 포함 된 폴더 lib가 있습니다 ... mingw를 사용하여 다른 라이브러리를 컴파일 할 때이 라이브러리에 대한 링크가 작동한다고 가정하는 것이 합리적이지 않습니까? 이 도서관들이 괜찮은지 아닌지 어떻게 알 수 있습니까? – Vince