重複の可能性:
ダイナミックdllをスタティックライブラリに変換する方法は?
DLLファイルがあるとします。「dllfile.dll」という名前。それをC++プロジェクト(.exe、Dev-C ++のコンソールアプリケーション)にインポートして、DLLファイル自体に準拠させたいので、.exeファイルと同じディレクトリに.dllファイルを含めずに公開できます。 。助言がありますか?
重複の可能性:
ダイナミックdllをスタティックライブラリに変換する方法は?
DLLファイルがあるとします。「dllfile.dll」という名前。それをC++プロジェクト(.exe、Dev-C ++のコンソールアプリケーション)にインポートして、DLLファイル自体に準拠させたいので、.exeファイルと同じディレクトリに.dllファイルを含めずに公開できます。 。助言がありますか?
そのための静的ライブラリが必要です。通常、このためにDLLでコンパイルされたコードを使用することはできません。
DLLのソースコードがある場合は、静的ライブラリとしてコンパイルしてリンクできるはずです。これにより、そのライブラリのDLLファイルに依存しなくなります。
.exe ファイルと同じディレクトリに .dll ファイルを含めなくても公開できます。
一般に、それはできません。
そのためには、dll を逆コンパイルしてスタティック ライブラリに変換する必要があります。これは、フリーウェア、プロプライエタリ、GPL、および LGPL プロジェクトのライセンスに違反します。dll のコンテンツと静的にリンクすると、問題が発生する可能性があります (CRT の取り違え)。
または、ライブラリ dll が表す静的ライブラリ バージョンを取得して、静的にリンクしようとすることもできます。これは、プロプライエタリ プロジェクト (多額の支払いをいとわず、彼らが喜んで販売する場合を除きます)、フリーウェア プロジェクト、GPL/LGPL dll には使用できない場合があります (静的リンク => 派生作品 => あなたのプロジェクトは現在は GPL/LGPL ですが、これはおそらくあなたが望むものではありません)。