0

具体的には、MingW 環境で visual-c++ を使用しています。LDFLAGS を次のように定義するメイクファイルがあります。

LDFLAGS="-MACHINE:X64 -OPT:REF,ICF -FORCE libtcmalloc_minimal.lib -INCLUDE:__tcmalloc"

この方法でプログラムを作成した場合、プログラムと共に libtcmalloc_minimal.dll を配布する必要があります。

これがGCCか、私が使用する同類のものであるかどうかを推測しています-staticが、そのフラグはvisual-c ++によって認識されません。このライブラリを強制的に静的に実装する方法はありますか?

4

1 に答える 1

1

ここでの問題は、a.libがスタティック ライブラリまたは DLL のインポート ライブラリのいずれかになる可能性があることです。最初のケースでは、Linux 上のファイルと同じようにバイナリでリンクされ、.aアドレスの解決、不要なコードの削除などが行われます。2 番目のケースでは、.libファイルは DLL のスタブとして機能し、それなしでは機能しません。ライブラリの正しいバージョン (存在する場合) を取得し、それとリンクする必要があります。インポート ライブラリを静的ライブラリのように動作させることはできません。

于 2014-12-13T12:20:58.330 に答える