Mac OS Xでのビルド環境について聞きたい

79 views
Skip to first unread message

Nakanishi Kouichi

unread,
Mar 30, 2016, 3:05:41 AM3/30/16
to OpenToonz ユーザーフォーラム

ビルド済みバイナリをビルドするときのclangのversionを教えて下さい。
下記のMac OS Xの環境ででビルドしようと思うのですが、エラーが出ます。
読む限り、暗黙の型変換をしようとしてコケている様に見えるため、
あまり関係ないと思うのですが、ビルド済みバイナリと同じ環境を揃えてもう一度buildを試そうと考えています。
ですが、clangのversionに関する情報が見つからないためここでお伺いしました。

環境:
Mac OS X El Captian (10.11.4)

clang version:

Apple LLVM version 7.3.0 (clang-703.0.29)

Target: x86_64-apple-darwin15.4.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin


Qt 5.5.1


エラー:

/Users/keizo/product/opentoonz/toonz/sources/toonz/loadfoldercommand.cpp:443:31: error: chosen constructor is explicit

      in copy-initialization

        import_Locals locals = {scene};


-- 

Kouichi Nakanishi (keizo)

mail: keizo....@gmail.com





KazuKun

unread,
Mar 31, 2016, 12:58:18 AM3/31/16
to OpenToonz ユーザーフォーラム
初めまして。
とりあえず、コンパイルに成功しましたので報告します。

エラー行を下記の通り、変更すれば現行のコンパイラでコンパイルできると思います。
実際、自分は同バージョンのコンパイラでコンパイルしました。

変更前:import_Locals locals = {scene};
変更後:import_Locals locals = {scene, std::auto_ptr<OverwriteDialog>(nullptr)};

詳細はソースコードを見ていただくとして、エラー行の直前にimport_Localsの定義があるのですが、
変更前のソースではメンバ変数が2個あるの対して、1つ目のメンバしか初期化していないのがエラーの原因だと思われます。
とりあえず、2番目のメンバをnullptrで初期化することにしました。
正しい処置かはわかりませんが、とりあえずこれでコンパイルできると思います。
エラー行以下のソースコードを見ると実行時に参照先を動的に生成するようなので、nullptrの初期化で問題ないと判断しました。
細かいことはよく分からないので、申し訳ないのですが、詳細は自分で確認してください。

P.S.
手元の環境では、最後の最後でliblzoが見つからずコンパイルエラーが出ましたので、cmakeの設定ファイルを修正しました。
エラーが出るかは分かりませんが、加えて報告しておきます。

Nakanishi Kouichi

unread,
Mar 31, 2016, 4:07:53 AM3/31/16
to OpenToonz ユーザーフォーラム
ありがとうございます。
こちらでも同様の変更でコンパイルが通りliblzoが見つからないところまで再現しました。

同様のパッチが#112 のpull requestで送られていますし、正しい処置のようです。

ご助言、大変感謝します。
Reply all
Reply to author
Forward
0 new messages