Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C++の言語バージョンを明示的に指定 #12

Merged
merged 1 commit into from
Sep 19, 2023

Conversation

White-Green
Copy link

内容

CMakeLists.txt内でC++の言語バージョンを明示的にC++14と指定するようにしました

その他

wasm向けビルドを試みていて発生した変更ですが、そもそもC++17で削除された機能(std::binary_function)に依存している箇所があるのでその他のターゲットに対しても破壊的変更にならないことを期待しています

@Hiroshiba
Copy link
Member

PRありがとうございます!!

C++のビルド周りやCMakeListsに詳しそうな @Oyaki122 さん的に、なにか問題点とか思いつかれたりされますか・・・?

あとRustラッパーのopen_jtalk-rs側とC++バージョン揃えるの意識しようかなと思ったのですが、そもそも-rs側はどうやってC++バージョン決まってるんだろう・・・・・・?

@White-Green
Copy link
Author

VOICEVOX/open_jtalk(つまりこのリポジトリのOpenJTalk)に依存したC++プログラムを作る場合には問題が発生するかもしれません(利用する側のC++バージョンがこの設定に制約されるので)

Rustから利用する場合C++ライブラリは一度コンパイルしてlib*.a形式にしてからRustのプログラムとリンクしているはずなので-rs側にC++バージョンという概念は無く、コンパイラにお任せで決まっていたのかなという気がしています
ということを考えると、もしかしたら本PRには将来のコンパイラバージョンアップによってC++バージョンが変わってコンパイルできなくなる可能性を未然に防ぐ効果もあるかもしれません(詳しくないので適当を言っています)

@Hiroshiba
Copy link
Member

RustはCMakeListsに沿ってビルドしてくれるっていう感じなんですかね。だとしたらすごく良さそう!!

他にもpythonのpyopenjtalkがこのリポジトリに依存していそうですが、確かそっちは内部でcmakeを使っているのでおそらく同じバージョンが使われる・・・気がしました!

ってことで問題なさそうなのでマージします!

@Hiroshiba Hiroshiba merged commit e8a9910 into VOICEVOX:1.11 Sep 19, 2023
5 checks passed
@White-Green White-Green deleted the specify_cpp_version branch September 20, 2023 00:01
White-Green added a commit to White-Green/open_jtalk-rs that referenced this pull request Sep 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants