문제

C/C ++ 앱을 OS X로 포트하고 싶습니다.

Mac은 없지만 Linux와 Windows가 있습니다. 이것에 대한 도구가 있습니까?

도움이 되었습니까?

해결책

있는 것 같습니다 일부 스크립트 Mac 용 크로스 컴파일을 설정하는 데 도움이되었습니다. 나는 그들이 얼마나 좋은지, 또는 당신의 프로젝트에 얼마나 적용 할 수 있는지 말할 수 없습니다. 문서에서 그들은 참조합니다 이 지침 10.4에 대한 크로스 컴파일 용 이것들 10.5에 대한 크로스 컴파일; 이러한 지침은 스크립트가 귀하의 요구에 얼마나 잘 맞는지에 따라 스크립트보다 더 도움이 될 수 있습니다.

프로그램이 무료 또는 오픈 소스 소프트웨어 인 경우 대신 맥 포트 포트 파일 (문서 여기), 사용자가 Macports를 사용하여 프로그램을 구축 할 수 있도록합니다. 이는 일반적으로 Mac OS X에 휴대용 무료 또는 오픈 소스 소프트웨어를 설치하는 선호하는 방법입니다. MacPorts는 과거에 Linux에서 실행되는 것으로 알려져 있으므로 Linux에서 PortFile을 개발하고 테스트 할 수 있습니다 (분명히 필요할 것입니다. Mac에서 테스트 할 수 있습니다).

다른 팁

Linux의 경우 사전 제작 된 GCC 크로스 컴파일러가 있습니다 (공개적으로 사용 가능한 Apple의 수정 된 GCC 소스).

https://launchpad.net/~flosoft/+orchive/cross-apple

2015 년 업데이트

  1. 수년이 지난 후 업계 표준 IDE는 이제 OSX/iOS/Android를 지원합니다.

http://channel9.msdn.com/events/visual-studio/connect-event-2014/311

  1. Embarcadero의 Radstudio는 또한 Windows에서 OSX/iOS/Android 앱을 구축하는 것을 지원합니다.

  2. 이것 대답 ~에 의해 도마 또한 교차 컴파일 도구를 제공합니다.

이 모든 옵션의 경우 응용 프로그램을 테스트하려면 여전히 실제 Mac/I-Device가 필요합니다.

나는 불리는 프로젝트를 만들었습니다 Osxcross Linux의 OS X (10.4-10.9)를 목표로하는 것을 목표로합니다.

현재 지원합니다 clang 3.2 최대 3.8 (트렁크) (Dist 's를 사용할 수 있습니다. clang).
또한 최신 바닐라를 구축 할 수 있습니다 GCC 또한 (4.6+).

LTO는 두 가지 모두에서도 작동합니다. clang 그리고 GCC.

현재 LD64-242와 함께 CCTools-870을 사용하고 있습니다.

https://github.com/tpoechtrager/osxcross

  1. 얻다 "VMware 플레이어"
  2. 얻다 "Mac OS X VM 이미지"
  3. 새 OS에서 코드를 컴파일/디버그/통합 및 테스트하여 모든 것이 작동하는지 확인하십시오.

여러 플랫폼에서 무언가를 얻으려고 할 때 절대적으로 ~ 해야 하다 의도 한 플랫폼에서 컴파일/실행/통합/테스트. 한 플랫폼에서 컴파일/실행 한 다음 "오 다른 플랫폼에서 동일하게 작동해야합니다"라고 말할 수 있습니다.

Java와 같은 정말 좋은 크로스 플랫폼 언어를 사용하더라도 다른 플랫폼에서 정확히 동일하게 작동하지 않는 문제가 발생합니다.

내 시간/생산성/여러 플랫폼에서 반복적으로 반복하는 능력을 존중한다는 유일한 방법은 다른 플랫폼의 VM을 사용하는 것입니다.

듀얼 부팅과 같은 다른 솔루션과 내가 언급하지 않은 솔루션이 있지만 생산성/시간을 존중하지 않는다는 것을 알게되었습니다.

예를 들어 듀얼 부팅을 수행하십시오.

  1. 나는 OS 1을 변화시킨다
  2. OS 2로 재부팅합니다
  3. OS 1에서 무언가를 잊어 버리십시오
  4. OS 1로 재부팅합니다
  5. OS 1을 변경하십시오
  6. OS 2로 재부팅 ... 다시...

BAM 내 시간이 30 분이 지나고 난하지 않았어 아무것 생산적인.

Mach-O를 위해 컴파일하려면 도구 체인이 필요하지만, 그랬더라도 Apple Libraries를 개발할 수는 없습니다. 불행히도 당신이 그들없이 어떻게 포트를 할 수 있을지 잘 모르겠습니다.

애플 개발은 그 자체로 이상한 짐승이다. OS X는 GCC 포트를 사용하여 'Appley'를 만들기 위해 일부 수정을합니다. 이론적으로는 Apple Kernel 및 Library 헤더뿐만 아니라 Apple GCC 및 Toolchain의 소스가 가능하며 Windows 시스템에 크로스 컴파일러를 구축 할 수 있습니다.

이 길을 내려 가고 싶은 이유는 저를 넘어선 것입니다. 600 달러부터 저렴한 Mac 미니를 가질 수 있습니다. 크로스 컴파일러가 올바르게 작동하는 시간 (특히 Unix 도구 용 Windows 호스트)은 어쨌든 600 달러 이상의 비용이들 것입니다.

앱 크로스 플랫폼이 QT, WXWIDGETS 또는 FLTK를 살펴 보도록하기 위해 정말로 열심이 있다면. 모두 기본 코드를 최소화하는 크로스 플랫폼 지원을 제공합니다. 적어도 당신이해야 할 일은 앱을 컴파일하는 Mac을 찾기 만하면 SSH에 SSH에 액세스 할 수없는 기술적으로 마음에 드는 친구가 있다면 그렇게하기가 어렵지 않습니다.

어떻게 든 OS X가 필요합니다. Mac을 소유하고 있지 않더라도 여전히 일부를 시도 할 수 있습니다. 대안.

그물 에서이 작은 문서를 찾았습니다.http://devs.openttd.org/~truebrain/compile-parm/apple-darwin9.txt

이것은 당신이 원하는 것을 정확하게 설명합니다. 나는 그것에 관심이 있고, 아직 테스트하지는 않았지만 (10 분 전에 찾았습니다). 그래도 문서는 좋아 보인다.

당신은 할 수 있습니다 클라우드에서 Mac을 고용하십시오 ~에서 이것 웹 사이트. 당신은 그들을 $ 1에서 고용 할 수 있습니다. 필요 루트 액세스, 그러면 $ 49+를보고 있습니다).

크로스 컴파일러 설정이 몇 개 있지만 거의 모든 것이 DistCC 스타일 분산 컴파일을위한 것입니다. 내 아는 바에 따르면 실제로 Mac이 없으면 Mac 플랫폼을 직접 타겟팅 할 수있는 방법이 없습니다. QT 또는 WXWIDGET에 의지하지 않고 가장 가까운 곳은 gnustep 또는 이와 유사한 개방형이지만 진정한 코코아 플랫폼은 아니며 매우 가깝습니다.

짧은 대답은 일종의입니다. 크로스 플랫폼 라이브러리와 같은 크로스 플랫폼 라이브러리를 사용해야합니다 QT. IDE는 QT 제작자와 같습니다. QT 제작자는 하나의 OS를 개발하고 다른 OS를 위해 MakeFiles를 생성 할 수 있습니다. 크로스 플랫폼 개발에 대한 자세한 내용은 크로스 플랫폼 에피소드를 확인하십시오. 이 팟 캐스트 (시리즈는 끝나지 않았고 새로운 에피소드가 매주 나오는 것으로 보입니다).

다른 답변에 따르면 Windows 또는 Linux에서 Mac을 컴파일 할 수는 있지만 응용 프로그램을 테스트 할 수는 없으므로 전문 프로그래밍을하고있는 경우 Mac에 600 달러를 소비해야합니다. 오픈 소스 소프트웨어에서 당신을 도울 MAC가있는 개발자를 찾으십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top