C++で作成したlibをimportして使えないでしょうか

[戻る]
なおぞう 2016/02/01(月) 19:24:35
VisualStudio2013で開発しています。
ご回答戴けますようお願いします。

VC++で作成されたlibがあるのですが、それをC#静的リンクして使いたいと思っています。
調べてみたところ、

C# や VB などの PureなManaged環境に、C/C++ の LIB(スタティックリンクライブラリ)
を埋め込むことはできない。
Native C/C++ でDLLを作ってそれを DLLImport するか、C++/CLI(2003までなら
ManagedC++)を使って、.NET Framewrok 形式のラッパーDLLにするかのどちらかになる。

とのことでしたが、この方法しかないでしょうか?

手持ちのlibだけで(ソースが無いのです)なんとかなる方法がありましたらご教授戴け
ますようお願いします。

YuO [E-Mail] 2016/02/04(木) 13:59:38
.libをリンクすることが出来ませんし,できても恐らくC#/VBからは呼び出せないでしょう。
# そのための構文がない

改修に関わる権利を持っているのが前提ですが,
NativeのDLLプロジェクトに.libと.defを追加して.dllを作ってしまうのが一番簡単な気がし
ます。
# できるかは不明。

なおぞう 2016/02/05(金) 19:49:15
[[解決]]
>YuOさま

回答ありがとうございます。
やはりラッパDLLを作るしかないという事で、VCで作成してみました。
できたDLLは動作確認もせずC#担当の型に投げてしまったのですが…。

古いスレッドには追加発言できません。