簡體   English   中英

為OS X 10.6編譯?

[英]Compile for OS X 10.6?

通常,對於我的OS X版本,我一直在運行10.6的舊Mac Book Pro上編譯應用程序。 這樣可以確保我支持此版本的OSX。

但是由於種種原因,MBP不再是長期的選擇,因此我一直在運行10.8的較新設備上進行編譯。 但是,當我這樣做時,即使設置了-mmacosx-version-min = 10.6標志,我的應用程序也無法在10.6上運行。 我設置標志時發生的錯誤是libSystem.B.dynlib中的“找不到符號:_wcsdup”

我查找了此錯誤,我唯一能找到的建議就是直接鏈接到10.6 SDK。 但是,當我嘗試將10.6 SDK從我的MPB復制到新機器上時(因為10.6 SDK未安裝在10.8上),它無法編譯,並顯示以下錯誤:“錯誤:bits / c ++ config.h:沒有這樣的文件或目錄“我認為這是由於我“安裝” SDK的方式,盡管其他人也成功做到了這一點。

有沒有人有辦法解決嗎?

在VM(例如VMWare或VirtualBox)中運行10.6。

我可以按照以下步驟重新安裝較早的SDK和編譯器: 如何將ppc / ppc64以及對10.4 / 10.5 SDK的完整支持還原到Xcode 4?

您需要在腳本中更改xcode安裝的路徑。

另外,在定位10.6時,您可能將無法使用-std = c ++ 11,因為您還將需要-stdlib = libc ++,僅在定位10.7或更高版本時才可用。

從10.7開始,Apple僅分發libc ++二進制文件。 您可以構建自己的libc ++並將其與您的應用程序一起部署到10.6機器上。 但是,當目標低於10.7時,Apple硬編碼了編譯器以禁止-stdlib = libc ++。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM