Programing

Linux 또는 Windows에서 OS X 용으로 컴파일하는 방법은 무엇입니까?

lottogame 2020. 11. 5. 07:41
반응형

Linux 또는 Windows에서 OS X 용으로 컴파일하는 방법은 무엇입니까?


내 C / C ++ 앱을 OS X로 이식하고 싶습니다.

Mac은 없지만 Linux와 Windows는 있습니다. 이를위한 도구가 있습니까?


있을 나타납니다 일부 스크립트 의 도움에 기록 된 당신은 Mac 용 크로스 컴파일을 설정할 수; 얼마나 좋은지 또는 귀하의 프로젝트에 얼마나 적용 가능한지 말할 수 없습니다. 문서, 그들은 참조 이러한 지침 10.4 크로스 컴파일을위한, 그리고 이러한 것들을 10.5 크로스 컴파일에 대한; 이러한 지침은 스크립트가 사용자의 요구에 얼마나 잘 맞는지에 따라 스크립트보다 더 유용 할 수 있습니다.

프로그램이 무료이거나 오픈 소스 소프트웨어 인 경우 대신 MacPorts 포트 파일 ( 여기 문서 )을 만들고 사용자가 MacPorts를 사용하여 프로그램을 빌드하도록 허용 할 수 있습니다. 이는 일반적으로 Mac OS X에 휴대용 무료 또는 오픈 소스 소프트웨어를 설치하는 데 선호되는 방법입니다. MacPorts는 과거에 Linux에서 실행되는 것으로 알려져 있었으므로 Linux에서 Portfile을 개발하고 테스트 할 수 있습니다. Mac에서 테스트).


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

https://launchpad.net/~flosoft/+archive/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가 필요합니다.


Linux에서 OS X (10.4-10.9)를 대상으로하는 OSXCross 라는 프로젝트를 만들었습니다 .

현재 clang3.2 ~ 3.8 (트렁크)을 지원 합니다 (dist를 사용할 수 있습니다 clang).
또한 최신 바닐라 GCC(4.6+)도 만들 수 있습니다.

LTO는 clangGCC.

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

https://github.com/tpoechtrager/osxcross


  1. " VMware Player " 받기
  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 라이브러리가 없을 것입니다. 불행히도 그것들없이 어떻게 이식 할 수 있을지 모르겠습니다.


Apple 개발은 그 자체로 이상한 짐승입니다. OS X은 GCC의 포트를 사용하여 '애플'을 만들기 위해 약간의 수정을가합니다. 이론적으로는 Apple GCC 및 툴체인의 소스뿐만 아니라 Apple 커널 및 라이브러리 헤더를 사용하여 Windows 시스템에서 크로스 컴파일러를 빌드 할 수 있습니다.

이 길을 가고 싶은 이유는 나를 넘어선 것입니다. $ 600부터 저렴한 Mac mini를 구입할 수 있습니다. 크로스 컴파일러가 제대로 작동하는 데 투자하는 시간 (특히 Unix 도구 용 Windows 호스트)은 어쨌든 600 달러 이상이들 것입니다.

앱 크로스 플랫폼을 Qt, wxWidgets 또는 FLTK로 들여다보고 싶다면. 모두 기본 코드를 최소한으로 변경하여 플랫폼 간 지원을 제공합니다. 최소한 그렇게해야 할 일은 앱을 컴파일 할 Mac을 찾는 것뿐입니다. 그렇게하면 Mac에 대한 SSH 액세스를 허용하는 것을 꺼리지 않는 기술적 인 친구가 있다면 그렇게 어렵지 않습니다.


어떻게 든 OS X가 필요합니다. Mac이 없더라도 몇 가지 대안을 시도 할 수 있습니다 .


인터넷에서이 작은 문서를 찾았습니다. http://devs.openttd.org/~truebrain/compile-farm/apple-darwin9.txt

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


당신은 할 수 있습니다 클라우드에서 맥을 고용 에서 웹 사이트. $ 1에서 고용 할 수 있습니다.이 정도면 충분합니다 ( 루트 액세스 가 필요 하지 않은 경우 $ 49 +입니다).


몇 가지 크로스 컴파일러 설정이 있지만 거의 모두 distcc 스타일의 분산 컴파일을위한 것입니다. 내가 아는 한 실제로 Mac이 없이는 Mac 플랫폼을 직접 타겟팅 할 수있는 방법이 없습니다. QT 또는 wxWidgets에 의존하지 않고 얻을 수있는 가장 가까운 것은 GNUStep 또는 이와 유사한 OpenStep이지만 진정한 Cocoa 플랫폼은 아닙니다.


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

다른 답변에서 알 수 있듯이 Windows 또는 Linux에서 Mac 용으로 컴파일 할 수 있지만 응용 프로그램을 테스트 할 수 없으므로 전문 프로그래밍을하거나 작업중인 경우 Mac에 600 달러를 지출해야합니다. 오픈 소스 소프트웨어에서 당신을 도울 Mac 개발자를 찾으십시오.

참고URL : https://stackoverflow.com/questions/693952/how-to-compile-for-os-x-in-linux-or-windows

반응형