質問

質問: .dll ファイルを使用して Linux 上でプログラムをコンパイルすることはできますか?

これがどこへ向かうのか:この .dll は、サードパーティの独自ソフトウェアへの php 拡張機能を作成するために使用されます。

背景と研究:

というライブラリを与えられました proprietary.lib. 。見たことがなかったので興味がありました .lib 前に拡張子があったので、次のように入力しました。

file proprietary.lib

出力は次のとおりでした。

proprietary.lib:  current ar archive

いくつか調べてみたところ、 ar 多かれ少なかれ tar (そして実際、おそらく tar それ以来交換されました ar ほとんどの *nix 環境では)。

検査すると、 ar マンページ、私は見ました t option, 、そのアーカイブの内容をリストした表が表示されます。いいね。そこで私は次のように入力します。

ar t proprietary.lib

そして、以下を取得します:

proprietary.dll
proprietary.dll
... (snip X lines) ...
役に立ちましたか?

解決

あなたはarファイル(Debianパッケージがarファイル、FWIWある)とコンテンツの実行fileを抽出しようとすることができます。

あなたは翻訳せずにWindowsのDLLを使用できるようにするつもりはありません。私は、Linux上でネイティブにその仕事を知っている唯一のDLLファイルがモノラルでコンパイルされます。

誰かが反対コードにあなた独自のバイナリライブラリを与えた場合、あなたはそれがターゲットアーキテクチャ(x86システム上での使用の午前ARMバイナリしようとしているような何もない)のために、それがLinux用にコンパイルされますことをコンパイルしています確認する必要があります。

ということでは言った...幸運。私はドキュメントを持っているサードパーティのライブラリに対してプログラミングを嫌い、のソースます。

他のヒント

それはそれを作る、利用できるLinux用ののLoadLibrary の機能があります:

は最近の開発は、状況が変わったかもしれませんWindowsのDLLをロードします。

内の機能を呼び出すことが可能 あなたが実際に持っている.dllファイルがWindowsのDLLの場合は、

ですから、あなたがソフトウェアでそれを使用する方法を見つけることがあります。

.dllファイルは通常、Windowsは、ライブラリを共有しています。 (これは、Linux上で誰かが通常のLinuxライブラリーを構築し、それが何らかの理由で.dllを呼ばれたことも可能です。)

それはあなたがワインを使用してそれらに対してリンクする可能性が可能です。これに対するサポートは実験としてかつてそこにあった - 私は、その現在の状態を知りません。

はい私たちはワインの助けを借りて、DLLを使用することができます。 ただインストールwine64中のlinux

sudo apt-get install wine64
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top