0

環境: VC、Windows。
サードパーティによって作成された大きな .lib ファイル aaa.lib があります。ソースコードがありません。aaa.lib の関数をほとんど使用しないスタティック ライブラリ bbb.lib を自分で作成する必要があります。ビジネス上の問題により、顧客に対して aaa.lib を非表示にする必要があります。そこで、このコマンドを使用して、aaa.lib を bbb.lib に「マージ」します。

LIB /OUT:bbb.lib mycode.lib aaa.lib  

bbb.lib が大きすぎることを除いて、動作します。「マージ」を行うときに、どのように aaa.lib の一部を指定できますか? ありがとう。.lib 分割に関する別の投稿があることは知っていますが、Windows 用ではありません。

関数を抽出するためにこれらのコマンドを試しましたが、機能しません。例として、ws2_32.lib の WSAStartup() を取り上げます。

LIB ws2_32.lib /extract:__imp__WSAStartup@8  

リンク: 警告 LNK4014: メンバー object _ imp _WSAStartup@8 が見つかりません

LIB ws2_32.lib /extract:WSAStartup  

リンク: 警告 LNK4014: メンバー オブジェクト WSAStartup が見つかりません

4

1 に答える 1

0

特定のオブジェクトから本当に少数の関数を使用する場合は、オブジェクトファイルを抽出できます

LIB library /EXTRACT:member /OUT:objectfile

詳細はこちらをご覧ください。

ライブラリ内のすべてのオブジェクトのリストについては、次を使用できます。

LIB library /LIST
于 2012-07-19T06:47:08.610 に答える