0

重複の可能性:
ダイナミックdllをスタティックライブラリに変換する方法は?

DLLファイルがあるとします。「dllfile.dll」という名前。それをC++プロジェクト(.exe、Dev-C ++のコンソールアプリケーション)にインポートして、DLLファイル自体に準拠させたいので、.exeファイルと同じディレクトリに.dllファイルを含めずに公開できます。 。助言がありますか?

4

2 に答える 2

1

そのための静的ライブラリが必要です。通常、このためにDLLでコンパイルされたコードを使用することはできません。

DLLのソースコードがある場合は、静的ライブラリとしてコンパイルしてリンクできるはずです。これにより、そのライブラリのDLLファイルに依存しなくなります。

于 2012-05-07T10:02:44.700 に答える
0

.exe ファイルと同じディレクトリに .dll ファイルを含めなくても公開できます。

一般に、それはできません。

そのためには、dll を逆コンパイルしてスタティック ライブラリに変換する必要があります。これは、フリーウェア、プロプライエタリ、GPL、および LGPL プロジェクトのライセンスに違反します。dll のコンテンツと静的にリンクすると、問題が発生する可能性があります (CRT の取り違え)。

または、ライブラリ dll が表す静的ライブラリ バージョンを取得して、静的にリンクしようとすることもできます。これは、プロプライエタリ プロジェクト (多額の支払いをいとわず、彼らが喜んで販売する場合を除きます)、フリーウェア プロジェクト、GPL/LGPL dll には使用できない場合があります (静的リンク => 派生作品 => あなたのプロジェクトは現在は GPL/LGPL ですが、これはおそらくあなたが望むものではありません)。

于 2012-05-07T13:33:26.373 に答える