共有ライブラリを使用するプロジェクトをコンパイルしたいが、元のlibファイルにアクセスすることはできない。私は、しかし、行うオリジナルのインターフェースを持っている...Visual Studio:共有ライブラリの未定義参照を無視する
私は基本的にしたいすべてがなどをマングリングシンボル名を行うので、私は手動でのGetProcAddressに呼び出す必要はありませんコンパイラを持っていることです...
のVisual Studioしかし、私は共有ライブラリとリンクしていないときに未定義の参照(duh)について不平を言っています。GNU LDでは 'allow-shlib-undefined'を使うことができましたが、残念ながらMSVC++を使わなければなりません...同様?
編集:もちろん
、私は、偽物(プロキシ)DLLを作る私のインターフェイスで見つかったすべてのメソッド、そのに対するリンクのスタブを作成し、元のDLLを読み込むことができます。私はちょうど輸出シンボルできるとlibファイル生成のよう
ルックス:私はそれはしかし最善の解決策だ場合...
EDIT2は知らない私はそれが最初に試すだろう http://www.coderetard.com/2009/01/21/generate-a-lib-from-a-dll-with-visual-studio/
をし、報告する。 、"The usual solution""The sub-DLL solution"、"The .def &.a solution": -
未定義のシンボルでプラグインやライブラリを持っていることは、DLLの限界を克服するための4つのソリューションを発見
EnhancedDLL:
objdumpを使用してエクスポートをダンプし、defファイルを使用してlibファイルを生成することで、すでにハックすることができました。あなたの第3の解決策のように見える... Upvote&答えて、それを必要とする誰のためにまともな答えを提供する唯一のものであると受け入れる。 –