Merge pull request #215 from skitaoka/test/pr/179

Allow Qt 5.6
This commit is contained in:
Keisuke Ogaki 2016-04-25 21:31:13 +09:00
commit 788747cc4a
6 changed files with 39 additions and 30 deletions

View file

@ -9,8 +9,8 @@
- cmake - cmake
- Version 3.2.2 confirmed to work. - Version 3.2.2 confirmed to work.
- Qt - Qt
- http://download.qt.io/official_releases/qt/5.5/5.5.1/ - http://download.qt.io/official_releases/qt/5.6/5.6.0/
- qt-opensource-mac-x64-clang-5.5.1.dmg - qt-opensource-mac-x64-clang-5.6.0.dmg
- boost - boost
- http://www.boost.org/users/history/version_1_55_0.html (or later, though only 1.55.0 is supported) - http://www.boost.org/users/history/version_1_55_0.html (or later, though only 1.55.0 is supported)
@ -65,7 +65,7 @@ $ tar xjvf boost_1_55_0.tar.bz2
$ cd ../../toonz $ cd ../../toonz
$ mkdir build $ mkdir build
$ cd build $ cd build
CMAKE_PREFIX_PATH=~/Qt5.5.1/5.5/clang_64 cmake ../sources CMAKE_PREFIX_PATH=~/Qt5.6.0/5.6/clang_64 cmake ../sources
$ make $ make
``` ```

View file

@ -8,8 +8,8 @@
- cmake - cmake
- バージョン 3.2.2 で動作確認済みです。 - バージョン 3.2.2 で動作確認済みです。
- Qt - Qt
- http://download.qt.io/official_releases/qt/5.5/5.5.1/ - http://download.qt.io/official_releases/qt/5.6/5.6.0/
- qt-opensource-mac-x64-clang-5.5.1.dmg - qt-opensource-mac-x64-clang-5.6.0.dmg
- boost - boost
- http://www.boost.org/users/history/version_1_55_0.html - http://www.boost.org/users/history/version_1_55_0.html

View file

@ -1,12 +1,11 @@
# Building on Windows # Building on Windows
This software can be built using Visual Studio 2013 and Qt 5.5 This software can be built using Visual Studio 2013 and Qt 5.6
## Required Software ## Required Software
### Visual Studio Express 2013 for Windows Desktop ### Visual Studio Express 2013 for Windows Desktop
- https://www.microsoft.com/en-us/download/details.aspx?id=44914 - https://www.microsoft.com/en-us/download/details.aspx?id=44914
- Since Qt 5.5 does not work with Visual Studio 2015, Visual Studio 2013 must be used.
- Make sure that the target platform is "for Windows Desktop" not "for Windows". - Make sure that the target platform is "for Windows Desktop" not "for Windows".
- Community and Provessional versions of Visual Studio 2013 for Windows Desktop also work. - Community and Provessional versions of Visual Studio 2013 for Windows Desktop also work.
@ -26,11 +25,10 @@ Because of the size of these libraries, they are not maintained in the git repos
They will have to be installed seperately as follows. They will have to be installed seperately as follows.
### Qt ### Qt
- http://download.qt.io/official_releases/qt/5.5/5.5.1/ - http://download.qt.io/official_releases/qt/5.6/5.6.0/
- Qt is a cross-platform GUI framework. - Qt is a cross-platform GUI framework.
- This project does not use the latest Qt framework (5.6).
- Select the following file from the above link: - Select the following file from the above link:
- qt-opensource-windows-x86-msvc2013_64-5.5.1.exe - qt-opensource-windows-x86-msvc2013_64-5.6.0.exe
### boost ### boost
- boost 1.55.0 or later is required (tested up to 1.60.0), but the support build is using 1.55.0 exactly. - boost 1.55.0 or later is required (tested up to 1.60.0), but the support build is using 1.55.0 exactly.
@ -93,9 +91,9 @@ If a previous binary of OpenToonz was already installed, this step and the follo
OpenToonz utilizes the QuickTime SDK's `mov` and associated file formats. Since the QuickTime SDK only comes in 32-bit versions, the 32-bit file `t32bitsrv.exe` from the QuickTime SDK is used in both the 64-bit and 32-bit versions of OpenToonz. As a result, the following instructions apply to both the 32 and 64-bit versions of OpenToonz. OpenToonz utilizes the QuickTime SDK's `mov` and associated file formats. Since the QuickTime SDK only comes in 32-bit versions, the 32-bit file `t32bitsrv.exe` from the QuickTime SDK is used in both the 64-bit and 32-bit versions of OpenToonz. As a result, the following instructions apply to both the 32 and 64-bit versions of OpenToonz.
### Qt ### Qt
- http://download.qt.io/official_releases/qt/5.5/5.5.1/ - http://download.qt.io/official_releases/qt/5.6/5.6.0/
- Find the following file from the above link and install in the appropriate folder. - Find the following file from the above link and install in the appropriate folder.
- qt-opensource-windows-x86-msvc2013-5.5.1.exe - qt-opensource-windows-x86-msvc2013-5.6.0.exe
### QuickTime SDK ### QuickTime SDK
1. Sign in using your Apple developer ID and download `QuickTime 7.3 SDK for Windows.zip` from the following url. 1. Sign in using your Apple developer ID and download `QuickTime 7.3 SDK for Windows.zip` from the following url.

View file

@ -1,12 +1,11 @@
# ビルド手順Windows # ビルド手順Windows
Visual Studio 2013とQt 5.5でビルドできることを確認しています。 Visual Studio 2013とQt 5.6でビルドできることを確認しています。
## 必要なソフトウェアの導入 ## 必要なソフトウェアの導入
### Visual Studio Express 2013 for Windows Desktop ### Visual Studio Express 2013 for Windows Desktop
- https://www.microsoft.com/ja-jp/download/details.aspx?id=44914 - https://www.microsoft.com/ja-jp/download/details.aspx?id=44914
- Qt 5.5がVisual Studio 2015に対応していないため、2013を使う必要があります
- Express版はターゲットプラットフォームごとにバージョンが分かれています。「for Windows」ではなく「for Windows Desktop」を使用します - Express版はターゲットプラットフォームごとにバージョンが分かれています。「for Windows」ではなく「for Windows Desktop」を使用します
- Community版やProfessional版などでも構いません - Community版やProfessional版などでも構いません
@ -24,11 +23,11 @@ Visual Studio 2013とQt 5.5でビルドできることを確認しています
サイズの大きいライブラリはこのリポジトリには含めていないので、別途インストールする必要があります。 サイズの大きいライブラリはこのリポジトリには含めていないので、別途インストールする必要があります。
### Qt ### Qt
- http://download.qt.io/official_releases/qt/5.5/5.5.1/ - http://download.qt.io/official_releases/qt/5.6/5.6.0/
- クロスプラットフォームのGUIフレームワークです - クロスプラットフォームのGUIフレームワークです
- 現在はQt 5.6には対応していません - 現在はQt 5.6には対応していません
- 上記のURLから以下のファイルをダウンロードして適当なフォルダにインストールします - 上記のURLから以下のファイルをダウンロードして適当なフォルダにインストールします
- qt-opensource-windows-x86-msvc2013_64-5.5.1.exe - qt-opensource-windows-x86-msvc2013_64-5.6.0.exe
### boost ### boost
- http://www.boost.org/users/history/version_1_55_0.html - http://www.boost.org/users/history/version_1_55_0.html
@ -89,9 +88,9 @@ OpenToonz_1.0.exeを実行して動作すれば成功です。おめでとうご
OpenToonzはQuickTime SDKを用いてmov形式などへ対応しています。QuickTime SDKは32ビット版しかないため、`t32bitsrv.exe`という32ビット版の実行可能ファイルにQuickTime SDKを組み込み、64ビット版のOpenToonzは`t32bitsrv.exe`を経由してQuickTime SDKの機能を使用しています。以下の手順では`t32bitsrv.exe`などと合わせて、32ビット版のOpenToonzも生成されます。 OpenToonzはQuickTime SDKを用いてmov形式などへ対応しています。QuickTime SDKは32ビット版しかないため、`t32bitsrv.exe`という32ビット版の実行可能ファイルにQuickTime SDKを組み込み、64ビット版のOpenToonzは`t32bitsrv.exe`を経由してQuickTime SDKの機能を使用しています。以下の手順では`t32bitsrv.exe`などと合わせて、32ビット版のOpenToonzも生成されます。
### Qt ### Qt
- http://download.qt.io/official_releases/qt/5.5/5.5.1/ - http://download.qt.io/official_releases/qt/5.6/5.6.0/
- 上記のURLから以下のファイルをダウンロードして適当なフォルダにインストールします - 上記のURLから以下のファイルをダウンロードして適当なフォルダにインストールします
- qt-opensource-windows-x86-msvc2013-5.5.1.exe - qt-opensource-windows-x86-msvc2013-5.6.0.exe
### QuickTime SDK ### QuickTime SDK
1. Appleの開発者登録をして下記のURLから`QuickTime 7.3 SDK for Windows.zip`をダウンロードします 1. Appleの開発者登録をして下記のURLから`QuickTime 7.3 SDK for Windows.zip`をダウンロードします

View file

@ -14,7 +14,11 @@ message("Thirdpary Library Search path:" ${THIRDPARTY_LIBS_HINTS})
if (WIN32) if (WIN32)
message("Windows System") message("Windows System")
set(QT_PATH "C:/Qt/Qt5.5.1/5.5/msvc2013_64" CACHE PATH "Qt instlattion directory") if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(QT_PATH "C:/Qt/Qt5.6.0_32/5.6/msvc2013" CACHE PATH "Qt instlattion directory")
else()
set(QT_PATH "C:/Qt/Qt5.6.0/5.6/msvc2013_64" CACHE PATH "Qt instlattion directory")
endif()
if(NOT EXISTS ${QT_PATH}) if(NOT EXISTS ${QT_PATH})
message("Specify QT_PATH properly") message("Specify QT_PATH properly")
return() return()
@ -29,18 +33,18 @@ elseif (APPLE)
endif() endif()
message("PLATFORM:" ${PLATFORM}) message("PLATFORM:" ${PLATFORM})
if (PLATFORM EQUAL 64) if (PLATFORM EQUAL 64)
set(QT_PATH "~/Qt/5.5/clang_64/lib/") set(QT_PATH "~/Qt/5.6/clang_64/lib" CACHE PATH "Qt instlattion directory")
set(QT_LIB_PATH ${QT_PATH}) set(QT_LIB_PATH "${QT_PATH}/")
set(CMAKE_PREFIX_PATH "${QT_PATH}cmake/") set(CMAKE_PREFIX_PATH "${QT_LIB_PATH}cmake/")
message("CMAKE_PREFIX_PATH:" ${CMAKE_PREFIX_PATH}) message("CMAKE_PREFIX_PATH:" ${CMAKE_PREFIX_PATH})
add_definitions(-DMACOSX -Di386) add_definitions(-DMACOSX -Di386)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -std=c++11 -stdlib=libc++ -fno-implicit-templates") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -std=c++11 -stdlib=libc++ -fno-implicit-templates")
elseif(PLATFORM EQUAL 32) elseif(PLATFORM EQUAL 32)
set(QT_PATH "~/Qt/5.5/clang_32/lib/") set(QT_PATH "~/Qt/5.6/clang_32/lib" CACHE PATH "Qt instlattion directory")
set(QT_LIB_PATH ${QT_PATH}) set(QT_LIB_PATH "${QT_PATH}/")
set(CMAKE_PREFIX_PATH ${QT_PATH}cmake/) set(CMAKE_PREFIX_PATH "${QT_LIB_PATH}cmake/")
message("CMAKE_PREFIX_PATH:" ${CMAKE_PREFIX_PATH}) message("CMAKE_PREFIX_PATH:" ${CMAKE_PREFIX_PATH})
add_definitions(-DMACOSX -Di386) add_definitions(-DMACOSX -Di386)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -std=c++11 -stdlib=libc++ -fno-implicit-templates -D HAS_QUICKDRAW") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -std=c++11 -stdlib=libc++ -fno-implicit-templates -D HAS_QUICKDRAW")
@ -58,9 +62,17 @@ add_definitions(-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED)
# Find includes in corresponding build directories # Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_INSTALL_RPATH ${QT_LIB_PATH}) if(APPLE)
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_MACOSX_RPATH ON)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set(CMAKE_INSTALL_RPATH ${QT_LIB_PATH})
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${QT_LIB_PATH}" isSystemDir)
if("${isSystemDir}" STREQUAL "-1")
set(CMAKE_INSTALL_RPATH "${QT_LIB_PATH}")
endif()
endif()
include_directories(include) include_directories(include)

View file

@ -105,7 +105,7 @@ ComboViewerPanel::ComboViewerPanel(QWidget *parent, Qt::WFlags flags)
ImageUtils::FullScreenWidget *fsWidget = new ImageUtils::FullScreenWidget(this); ImageUtils::FullScreenWidget *fsWidget = new ImageUtils::FullScreenWidget(this);
fsWidget->setWidget(m_sceneViewer = new SceneViewer(fsWidget)); fsWidget->setWidget(m_sceneViewer = new SceneViewer(fsWidget));
#ifdef Q_OS_WIN #if defined(Q_OS_WIN) && (QT_VERSION >= 0x050500) && (QT_VERSION < 0x050600)
// Workaround for QTBUG-48288 // Workaround for QTBUG-48288
// This code should be removed after updating Qt. // This code should be removed after updating Qt.
// Qt may crash in handling WM_SIZE of m_sceneViewer in splash.finish(&w) // Qt may crash in handling WM_SIZE of m_sceneViewer in splash.finish(&w)