Mac book air(macOS Sierra 10.12.1)にQT 4をインストール.8.6

3280 ワード

今日は大丈夫mac book airにQT 4をインストールします.8.6、いくつかの問題に遭遇して、以下のように記録します:エラー1:
“-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、順調に通過して、言わない.