例えば OSX 10.9 上で C++ で書かれたライブラリをビルドして qmake 使ったアプリケーションとリンクするとき SDK の不一致で STL 関連のシンボルが見つからずリンクに失敗することがある。その時はどうすればいいか?
結論
シンプルに MacOSX10.9.sdk を使うように変更する。
macx {
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
}
備考
前は QMAKE_MAC_SDK
に SDK のフルパスを指定してたがその必要はなく(少なくとも Qt 5.2.0 では macosx
か iphoneos
しか指定できないがどのバージョンからそうなったのか確認していない)、QMAKE_MACOSX_DEPLOYMENT_TARGET
にバージョンを指定する。
あまり関係ないけど qmake の文法は CMake 以上にわかりにくく書きづらいので qbs に移行して欲しい...