問題: OSX10.5 -32ビットからOSX 10.11-64ビットにプロジェクトをアップグレードする必要があります。アップグレード中に、OS X 10.11 SDK for 64ビットモードで廃止された多くの関数でエラーが発生しました(C99では関数の暗黙のデカールが無効です)。これらの機能のうちのいくつかは:CopyCStringToPascal()の代わりにosx 10.11を使用してビルド中に10.11 sdk
CopyCStringToPascal()
CopyPascalStringToPascal()
FSOpenResFile()
FSMakeFSSpec()
GetDateTime()
SecondsToDate()
BlockMove()
...などの機能です。 OS SDKと最新のSDKから来
これらの機能は、そのヘッダファイルにその宣言の周りに
#if !__LP64__
..
.
..
#endif
ガードを入れています。
64ビットモードで新機能を呼び出し、32ビットモードで古い機能を呼び出すラッパーを作成する方法の1つです。 ここから進んでいくためのもう一つの短い(そして簡単な)方法があるのだろうかと思っていました。
ありがとうございました。
答えてくれてありがとう、ブレンダン(これは私の最初の質問stackoverflow)です。 はい、32ビットモードの10.11 SDKに対してアプリをコンパイルできます。私たちは64ビットバージョンを顧客に委託しているので、それを行う必要があります。 Appleは64ビットの古いAPIを完全に削除してはいけないと思います。これらの新しいAPIフォーマットを満たすためには、多くの変更が必要です。一口! –
ええ、64ビットCarbonの欠如は、大きなCarbonアプリケーションを持つ企業にとって大きなショックと痛みでした。マイクロソフトは数ヶ月前に64ビットOffice for Macをリリースしたばかりで、すべてのアプリケーションをCocoa/64ビットに移植するまでには数年を要しました。 –