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

libファイルをArtifactsのzipに含める #113

Merged
merged 1 commit into from
Apr 2, 2022

Conversation

shigobu
Copy link
Contributor

@shigobu shigobu commented Apr 2, 2022

内容

Windowsで暗黙的リンクできるように、libファイルをArtifactsのzipに含めます。
#112 は、暗黙的リンクを使用しています。

関連 Issue

とくになし

その他

Releaseへのアップロードに失敗します。
モデルファイル埋め込みによるサイズの増加が原因だと思うので、#111 がマージされると解消されると思います。

@shigobu shigobu changed the title Windowsde暗黙的リンク libファイルをArtifactsのzipに含める Apr 2, 2022
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ちょっとわかってないのですが、なぜlibが必要になるのでしょうか👀

@shigobu
Copy link
Contributor Author

shigobu commented Apr 2, 2022

暗黙的リンクを利用するためです。
暗黙的リンクは、リンクの設定とヘッダーのインクルードのみでライブラリを利用できる仕組みです。
https://docs.microsoft.com/ja-jp/cpp/build/linking-an-executable-to-a-dll?view=msvc-170

暗黙的リンクを使わない場合、明示的リンクを使用します。
明示的リンクは、LoadLibrary 関数でDLLを読み込み、GetProcAddress 関数で関数を取得し、FreeLibrary 関数で読み込んだDLLを開放します。このような手順をふまなければならないので、コードが複雑になります。

特に理由がない限り、暗黙的リンクを利用するのが一般的かと思います。

@Hiroshiba
Copy link
Member

なるほどです! webページもありがとうございます!

こう、直感的にはヘッダーとlibに含まれる情報量の違いがわからず、なぜどっちもいるのか理解できずにもやもやしてるんですよね・・・
たとえばonnxruntimeは、linuxの場合は.soと.hだけ配布しています。でもdll版はたしかにlibも含まれています・・・。

libを含むものだというものなのだというのはわかりました!
ということでLGTMです!

Copy link
Member

@Oyaki122 Oyaki122 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Oyaki122 Oyaki122 merged commit 3ae3027 into VOICEVOX:main Apr 2, 2022
@shigobu shigobu deleted the libをzipに入れるテスト branch April 2, 2022 15:22
y-chan pushed a commit to SHAREVOX/sharevox_core that referenced this pull request Sep 1, 2022
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.

3 participants