Mac book air(macOS Sierra 10.12.1)にQT 4をインストール.8.6
3280 ワード
今日は大丈夫mac book airにQT 4をインストールします.8.6、いくつかの問題に遭遇して、以下のように記録します:エラー1:
解決策:
viエディタでファイルのformatフォーマットを表示できます.手順は次のとおりです.
1.viコマンドでファイルを開き、viコマンドモードで:set ffコマンドを使用すると、変更ファイルのフォーマットがdosであることがわかります(fileformat=dosが表示されます)
2.ファイルformatをunixに変更
方法1つはvimを使用してファイルフォーマットを変更し、コマンド:set ff=unix、実行後:set ffコマンドでファイルフォーマットを表示し、結果:fileformat=unix
方法2:dos 2 unixコマンド変換を直接実行すればよい:dos 2 unix configure
エラー2:
解決方法:
zipパッケージを使用しないで、tarパッケージをダウンロードした後、この問題はありません.stackoverflowここにはunzip時の権限の問題かもしれないという人がいます.クリックしてリンクを開きます.
エラー3:
解決策:
上記のエラーは、使用するOSXシステム関数が存在しないことを示しています(私のosxシステムバージョンはmacOS Sierra 10.12.1で、このバージョンでは上記の2つの関数インタフェースはありません).それは手動でQtソースコードを修正して、それから再びコンパイルして、修正する場所は実は多くなくて、7行のコードを注釈して、それから1行のコードを追加して終わります.patchはリンクをご覧くださいhttps://github.com/Homebrew/formula-patches/blob/master/qt/el-capitan.patch、patchの完全な内容を添付します.
修正後、makeは2時間も経ったので、間違いなく通過すると思っていたが、また間違えた.
quicktimevideoplayer.h:23:9: fatal error: 'QTKit/QTDataReference.h' file not found
Googleの後に見つけた説明は、「Apple’s(Quicktime)QTKit framework has been removed in Sierra OSX」という意味で、アップルのオペレーティングシステムSierraバージョンにはQTKitフレームワークがなく、googleで入手できる情報は多くなく、解決策が見つからないという意味で、誰かが知っていたら教えてください.小生は感謝に堪えません.
仕方なく、結局QT 5をインストールするしかなかった.6.2、順調に通過して、言わない.
“-bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory”
解決策:
viエディタでファイルのformatフォーマットを表示できます.手順は次のとおりです.
1.viコマンドでファイルを開き、viコマンドモードで:set ffコマンドを使用すると、変更ファイルのフォーマットがdosであることがわかります(fileformat=dosが表示されます)
2.ファイルformatをunixに変更
方法1つはvimを使用してファイルフォーマットを変更し、コマンド:set ff=unix、実行後:set ffコマンドでファイルフォーマットを表示し、結果:fileformat=unix
方法2:dos 2 unixコマンド変換を直接実行すればよい:dos 2 unix configure
エラー2:
“You don't seem to have 'make' or 'gmake' in your PATH. cannot proceed”
解決方法:
zipパッケージを使用しないで、tarパッケージをダウンロードした後、この問題はありません.stackoverflowここにはunzip時の権限の問題かもしれないという人がいます.クリックしてリンクを開きます.
What I found was that mny of the executable programs in the archive did not have the execute bit set, so a simple chmod fixed the issue. It seems like the unix unzip utility munges the file permissions when it extracts
エラー3:
painting/qpaintengine_mac.cpp:345:19: error: use of undeclared identifier 'CMGetProfileByAVID' CMError err = CMGetProfileByAVID((CMDisplayIDType)displayID, &displayProfile);
painting/qpaintengine_mac.cpp:348:9: error: use of undeclared identifier 'CMCloseProfile' CMCloseProfile(displayProfile);
解決策:
上記のエラーは、使用するOSXシステム関数が存在しないことを示しています(私のosxシステムバージョンはmacOS Sierra 10.12.1で、このバージョンでは上記の2つの関数インタフェースはありません).それは手動でQtソースコードを修正して、それから再びコンパイルして、修正する場所は実は多くなくて、7行のコードを注釈して、それから1行のコードを追加して終わります.patchはリンクをご覧くださいhttps://github.com/Homebrew/formula-patches/blob/master/qt/el-capitan.patch、patchの完全な内容を添付します.
From 27aa46933bb32a88c310fe5918a49a3f34d65dfe Mon Sep 17 00:00:00 2001
From: Mike McQuaid
Date: Sun, 13 Sep 2015 11:55:59 +0100
Subject: [PATCH] Fix El Capitan build.
---
src/gui/painting/qpaintengine_mac.cpp | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/src/gui/painting/qpaintengine_mac.cpp b/src/gui/painting/qpaintengine_mac.cpp
index 4aa0668..63b646d 100644
--- a/src/gui/painting/qpaintengine_mac.cpp
+++ b/src/gui/painting/qpaintengine_mac.cpp
@@ -340,13 +340,7 @@ CGColorSpaceRef QCoreGraphicsPaintEngine::macDisplayColorSpace(const QWidget *wi
}
// Get the color space from the display profile.
- CGColorSpaceRef colorSpace = 0;
- CMProfileRef displayProfile = 0;
- CMError err = CMGetProfileByAVID((CMDisplayIDType)displayID, &displayProfile);
- if (err == noErr) {
- colorSpace = CGColorSpaceCreateWithPlatformColorSpace(displayProfile);
- CMCloseProfile(displayProfile);
- }
+ CGColorSpaceRef colorSpace = CGDisplayCopyColorSpace(displayID);
// Fallback: use generic DeviceRGB
if (colorSpace == 0)
--
2.3.8 (Apple Git-58)
修正後、makeは2時間も経ったので、間違いなく通過すると思っていたが、また間違えた.
quicktimevideoplayer.h:23:9: fatal error: 'QTKit/QTDataReference.h' file not found
Googleの後に見つけた説明は、「Apple’s(Quicktime)QTKit framework has been removed in Sierra OSX」という意味で、アップルのオペレーティングシステムSierraバージョンにはQTKitフレームワークがなく、googleで入手できる情報は多くなく、解決策が見つからないという意味で、誰かが知っていたら教えてください.小生は感謝に堪えません.
仕方なく、結局QT 5をインストールするしかなかった.6.2、順調に通過して、言わない.