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 년 업데이트
- 오랜 세월이 지난 지금 업계 표준 IDE는 OSX / iOS / Android를 지원합니다.
http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/311
Embarcadero의 RadStudio는 Windows에서 OSX / iOS / Android 앱 빌드도 지원합니다.
이러한 모든 옵션에 대해 응용 프로그램을 테스트하려면 실제 mac / i-device가 필요합니다.
Linux에서 OS X (10.4-10.9)를 대상으로하는 OSXCross 라는 프로젝트를 만들었습니다 .
현재 clang
3.2 ~ 3.8 (트렁크)을 지원 합니다 (dist를 사용할 수 있습니다 clang
).
또한 최신 바닐라 GCC
(4.6+)도 만들 수 있습니다.
LTO는 clang
및 GCC
.
현재 ld64-242와 함께 cctools-870을 사용하고 있습니다.
https://github.com/tpoechtrager/osxcross
- " VMware Player " 받기
- " Mac OS X vm 이미지 "가져 오기
- 새 OS에서 코드를 컴파일 / 디버그 / 통합 및 테스트하여 모든 것이 작동하는지 확인합니다.
여러 플랫폼에서 작동하는 것을 얻으려면 의도 한 플랫폼에서 반드시 컴파일 / 실행 / 통합 / 테스트 해야합니다 . 한 플랫폼에서 컴파일 / 실행 한 다음 "다른 플랫폼에서도 동일하게 작동해야합니다"라고 말할 수는 없습니다.
Java와 같은 정말 훌륭한 크로스 플랫폼 언어를 사용하더라도 다른 플랫폼에서 똑같이 작동하지 않는 문제가 발생합니다.
내 시간 / 생산성 / 다중 플랫폼에서 빠르게 반복 할 수있는 능력을 존중하는 유일한 방법은 다른 플랫폼의 VM을 사용하는 것입니다.
듀얼 부팅과 같은 다른 솔루션과 내가 언급하지 않은 솔루션이 있지만 생산성 / 시간을 존중하지 않는 것으로 나타났습니다.
이중 부팅을 예로 들어 보겠습니다.
- OS 1에서 변경
- OS 2로 재부팅
- OS에서 뭔가 잊어 버려 1
- OS 1로 재부팅
- OS 1에서 변경
- 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
'Programing' 카테고리의 다른 글
JavaScript에서 객체를 반복 할 수없는 이유는 무엇입니까? (0) | 2020.11.06 |
---|---|
Crockford 스타일의 컨텍스트 컬러링이 모든 코드 편집기에서 구현됩니까? (0) | 2020.11.06 |
원형 잠금없는 버퍼 (0) | 2020.11.05 |
Mercurial에서 단일 개정판을 어떻게 선택합니까? (0) | 2020.11.05 |
git push를 할 때“diff.renamelimit 변수”에 대한 경고 (0) | 2020.11.05 |