- - PR -
VC++5で作られたDLLをVC++2005で使用する
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-15 10:21
環境:Windows XP,Visual Studio 2005
はじめまして 早速ですが質問です。 現在、あるところから提供されたDLLを使用して、 新たにアプリケーションを作成しているのですが、 DLLを読み込みがうまくいきません。 提供されたVC++5で作られた実行ファイルをVC++2005で開き 実行させるとうまくいくのですが、、、、 リンカもさせていまますし、 下記のようなソースも書いています。 --------------------------------------------------- //stdafx.hファイル内 #include <〜.h> #pragma comment(lib,"〜.lib") --------------------------------------------------- いろいろサイトも見たのですが、原因がわかりません。 DLLの読み込みができないと、次の段階に進めないので困っています。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2007-01-15 10:27
とは? とりあえず、XXXX.libでリンクさせず LoadLibrary + GetProcAddress で動的にリンクできるか確かめてみてはどうでしょうか? ただし、この方法ではDLL内のクラスを使うということは出来ないと思いますけど。 | ||||||||||||
|
投稿日時: 2007-01-15 10:29
もっと具体的に言いますと、
このプログラムを作る際、 global.hを作成し、そこにグローバル変数を定義しています。 その際に”HANDLE””USHORT”などの変数を定義しなければいけないのですが、 DLLをうまく読み込めないため、 定義として扱ってくれません。 (アラーとでtypedef void HANDLEとならなければならないところで、int HANDLEと表示されてしまいます) ほかのグローバル定義したものも読み込まずエラーが出ます。 | ||||||||||||
|
投稿日時: 2007-01-15 10:35
意味不明です。 HANDLEやUSHORTという変数名があるのでしょうか? そんな変数名使うべきではないでしょう。 (windows.hの型とバッティングするような識別子はダメでしょう。) | ||||||||||||
|
投稿日時: 2007-01-15 10:56
こんにちは。
すいません。よく分かりません。 エラーとは、 「実行時エラー」「コンパイルエラー」「リンクエラー」 のうち、どのことを指していますか?
typedef void* HANDLE ではないですか? プリコンパイル済みヘッダーstdafx.hの最初のほうで、 #include <windows.h> を追加すれば良いだけのように思えるのですが。 | ||||||||||||
|
投稿日時: 2007-01-15 11:00
早速のご返答ありがとうございます。
すいません。。全くの初心者で説明がうまくいかず。。 変数といいますか、識別子といいますか。。。 データ型??と同じ扱いでHANDLEというものが用意されているらしく、 たとえば、 ------------------------------------------------------------ apiStatus sample(HANDLE hCom,USHORT address,USHORT adress); ------------------------------------------------------------ という使い方をしろと説明書には書いてあります。 | ||||||||||||
|
投稿日時: 2007-01-15 11:19
こんばんは
つまり、「コンパイルエラー」なんですね? stdafx.hで、#include <global.h>行の前に #include <windows.h> または #include <windef.h> を追加するか stdafx.hのソース
それとも直接global.hの先頭に #include <windows.h> または #include <windef.h> を追加すれば、コンパイルできますよね? global.hのソース
もしかすると、 C/C++でのWindowsプログラミングは初めてなんでしょうか? | ||||||||||||
|
投稿日時: 2007-01-15 11:26
>Tdnr_Symさん
ありがとうございます。 早速やってみます。 C/C++でのWindowsプログラミングは、本の内容に沿ったプログラムを作っただけで、 新しく製作するのは初めてなんです。。。 アプリのプログラミング自体初心者なので、、 |
1