2017-12-28 16 views
0

Xcodeを更新し、MacOS SDKも更新しました。古いMacOSバージョンをサポートするために、古いSDKを使ってPocoをビルドする必要があります。私はMacOSバージョン10.11でビルドしたいと思っています。私は、従来のMacOS SDKをダウンロードして、何らかのフラグを付けてそのパスを与えたいと思っています。次のように従来のMacOS SDKを使用したPocoライブラリの構築

私のビルドコマンドに見える:作成したライブラリは、私はotoolコマンドを使用し、正しいSDKを使用して構築されたかどうかを確認するには

CFLAGS="-isysroot ~/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11 

./configure --omit=Data/ODBC,Data/MySQL,Zip,JSON,MongoDB,PageCompiler,PageCompiler/File2Page,CppUnit --no-tests --no-samples --cflags=-fPIC --sqlite-thread-safe=1 --include-path=$(pwd)/$(openssldir)/$(opensslincdirname) --library-path=$(pwd)/$(openssldir) && \ 
make clean && \ 
make 

私はすでにしてフラグを追加してみました(これはどのように見えるか)

otool -l filename.dylib 

cmd LC_VERSION_MIN_MACOSX 
cmdsize 16 
version 10.8 
sdk 10.11 

xcodeprojectの場合働いた:

xcodebuild -sdk macosx10.11 -project projectname.xcodeproj 

答えて

0

複数の異なるフラグをテストした後、私は期待通りに機能する解決策になりました。ここで

は、適切MACOS SDKを参照して同じmakeコマンドです:

./configure --omit=Data/ODBC,Data/MySQL,Zip,JSON,MongoDB,PageCompiler,PageCompiler/File2Page,CppUnit --no-tests --no-samples --cflags=-fPIC --sqlite-thread-safe=1 --include-path=$(pwd)/$(openssldir)/$(opensslincdirname) --library-path=$(pwd)/$(openssldir) && \ 
make clean && \ 
make MACOSX_DEPLOYMENT_TARGET=10.8 MACOSX_SDK_VERSION_MIN=10.9 SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk 

私はhttps://github.com/devernay/xcodelegacyからレガシーMacOSのSDKをダウンロードしてXcodeのSDKフォルダにそれを置きます。このフォルダは、XCodeを更新するときにクリアされる可能性があるので、sdkディレクトリへのシンボリックリンクを使用してレガシーSDKを別の場所に置いておくとよいでしょう。

関連する問題