質問
質問: .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用にコンパイルされますことをコンパイルしています確認する必要があります。
ということでは言った...幸運。私はドキュメントを持っているサードパーティのライブラリに対してプログラミングを嫌い、とのソースます。
他のヒント
は最近の開発は、状況が変わったかもしれませんWindowsのDLLをロードします。
内の機能を呼び出すことが可能 あなたが実際に持っている.dll
ファイルがWindowsのDLLの場合は、ですから、あなたがソフトウェアでそれを使用する方法を見つけることがあります。
.dllファイルは通常、Windowsは、ライブラリを共有しています。 (これは、Linux上で誰かが通常のLinuxライブラリーを構築し、それが何らかの理由で.dllを呼ばれたことも可能です。)
それはあなたがワインを使用してそれらに対してリンクする可能性が可能です。これに対するサポートは実験としてかつてそこにあった - 私は、その現在の状態を知りません。
はい私たちはワインの助けを借りて、DLLを使用することができます。 ただインストールwine64中のlinux
sudo apt-get install wine64