重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

当方Visual Studio 2008のVB、C++で開発をしています。

VS2008のVBでクラスライブラリとして作成し、ビルドをしてDLLを作成したのですが、
対となるLIBファイルがどこにも見当たりませんでした。

VS6.0のVBではLIBファイルも作成されました。
VS2008のVBでLIBファイルを作成する方法をご存知の方いらっしゃいましたら教えてください。


LIBファイルを使用する理由は、VBで作成したDLLをC++に組み込むときにリンクさせる為です。
※今回はLoadLibrary関数を使わず、LIBファイルを使おうと考えています

以上、宜しくお願い致します。

A 回答 (1件)

私が知らないだけだったらごめんなさい、なのですが、VB2008 のクラスライブラリって中間言語形式 らしいので、ネイティブの C++ でリンクってできないんじゃないかと思います。


プロジェクトのプロパティで「共通言語ランタイムサポート」にしてやれば、プロジェクトの共通プロパティでクラスライブラリを参照設定できますので、クラスライブラリの呼び出しのところだけ C++/CLI のやり方でやってみてはどうでしょう。

簡単な例を載せておきます。

ClassLibary1.vbproj - Class1.vb
=======================================================
Public Class Class1

Public Function test(ByVal i As Integer) As Integer
Return i * i
End Function

End Class
=======================================================

CppConsole.vcproj - CppConsole.cpp
=======================================================
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
ClassLibrary1::Class1^ c1 = gcnew ClassLibrary1::Class1();
_tprintf( _T("%d\n"), c1->test(8) );
delete c1;
return 0;
}
=======================================================
    • good
    • 0
この回答へのお礼

tsukasa-12rさん
VB2008では、VB6のdll作成とは別物になってしまうようなんですね・・・
C++/CLIのやり方で試したところ、うまく読み出せました。
この方法で開発を進めようと思います。
ご回答ありがとうございました。

お礼日時:2011/04/27 12:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!