2011-05-12 4 views
6

단일 빌드 서버에서 많은 플랫폼을 대상으로 C++ 라이브러리에 대한 교차 컴파일러를 빌드하려면 어떻게해야합니까?다중 플랫폼 C++ 교차 컴파일러

크로스 컴파일러는 (최소한) {Windows 7, Mac OS X, Ubuntu 11.04} × {32 비트, 64 비트} × {Debug, Release}의 라이브러리를 빌드 할 수 있어야합니다. 처음부터 전체 빌드가 영원히 걸릴지 또는 gcc 바이너리가 1GB인지 여부는 신경 쓰지 않습니다. 크로스 컴파일러가 단일 실행 파일이 될 수 없다면, 내 라이브러리를 컴파일 (및 재 컴파일) 할 때 사용해야하는 워크 플로는 무엇입니까?

호스트 시스템은 Ubuntu 11.04입니다.

+0

Mac OS X이 필요한 경우 단일 서버에서이 모든 작업을 수행 할 수있는 유일한 솔루션은 두 대의 VM에서 Ubuntu 및 Windows를 실행하는 Mac OS X 서버입니다. –

+0

Mac OS X이 필요 없다고 가정합니다. 기본적으로'./build.sh'를 사용하는 방법은 없습니다. VM에서 수동으로해야합니까? –

+3

복잡성을 감안할 때, 각 플랫폼에 대해 하나의 시스템을 구입하고 적절한 플랫폼을 구축하는 것이 더 저렴할 수 있습니다 (이 시스템을 설정하기 위해 월급과 추가 시간을 고려할 경우). –

답변

4

건물 간 컴파일러는 OSDev Wiki으로 잘 설명됩니다. Windows의 경우는 + MSVC8/9

당신은 인 TeamCity 건물을 자동화 할 수 있습니다 배포판의 저장소

0

Windows 호스트 + TeamCity + GCC (와 Mingw) +은 GNU 확인 (또는 보완 빌드 스크립트 솔루션)에서와 Mingw 패키지를 사용할 수 있습니다 GCC는 모든 DBG/REL, 32/64 비트, MacOS/Linux 순열에서 목표를 구축 할 것입니다. 크로스 컴파일러 호환성을위한 MSVC8/9 테스트

+0

연속 통합은 실제 문제가 아닙니다. 내가 필요한 컴파일러입니다. 그렇지 않으면, 나는 이미 로컬 머신을 위해 잘 컴파일 된'buildbot'을 가지고있다. –

관련 문제