×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

サイトトップまとめドキュメントWineWineについて ≫ DLLオーバーライド

DLLオーバーライド

  • Wineで実装されているシステムライブラリのDLLの一部は、代わりにWindowsネイティブのDLLを用いることでより良好な動作となる場合があり、Wineの内蔵(ビルトイン)版とネイティブ版のどちらを優先して使うようにするかはシステムライブラリごとにDLLオーバーライドという設定項目で指定することができる

  • Wineのシステムライブラリの中にはWine独自なものもあり、何らかの理由でこれが正常に動作しないときなど、無効(化)の指定を行うことでその独自ライブラリを無効化して不具合を回避できる場合がある

  • winecfgライブラリタブで設定ができる他、代わりに環境変数WINEDLLOVERRIDES[コンマ区切りのライブラリ名...]=[指定値(下の一覧を参照)]形式の文字列(;で複数並べることも可)で指定することでも適用できる

[ヒント]ヒント

環境変数WINEDLLOVERRIDESは設定の試行錯誤を行う際に便利。

[注記]メモ

ネイティブ版のDLLを用いるには、そのDLLのファイルをWine環境(prefix)内のシステムフォルダ内に配置する必要がある。

ネイティブ版のDLLは依存関係を持つ場合があり、DLLによっては単独ではなく複数個を同時にネイティブ版にするようにする必要がある。

表3 DLLオーバーライドの項目値

説明環境変数WINEDLLOVERRIDESで指定する値
内蔵版常にWine内蔵版のライブラリを使用b
ネイティブ版常にネイティブ版のライブラリを使用n
内蔵版後にネイティブ版Wine内蔵版のライブラリを先に探索し、あればそれを使用・無ければネイティブ版を探索し、あればそれを使用b,n
ネイティブ版後に内蔵版ネイティブ版のライブラリを先に探索し、あればそれを使用・無ければWine内蔵版を探索し、あればそれを使用n,b
無効(化)このライブラリは使用しない(存在しないものとして扱う)(空の文字列)

例3 WINEDLLOVERRIDESの例

foo,bar=n,b;baz=