- PR -

Win32API SDKのDLLファイルをVS2005で作成の仕方

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/06/02
投稿数: 11
投稿日時: 2007-01-03 13:01
お世話になります。

Windows XP SP2
VS2005 Pro
Platform SDK
このような環境です
現在はbcc55、BccDevでWin32API SDKを利用してたDLLの作成を行っているのですが、
デバッガーが使い辛くVS2005より作成を行いたいのですがうまく作成できません

2 番目の引数を 'char [100]' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
など、のSDK絡みのエラーが出ます、bcc55の場合でしたらコンパイルスイッチでEXEの場合は-W
DLLの場合ですと-WDで問題なくコンパイルできていたのですが、VS2005 SDKのコンパイル
設定が良くわかりません。

以下手順を示しますので間違っている部分をご指摘願えませんでしょうか、

よろしくお願いいたします。

DLL作成方法

1. 新しいプロジェクト
2. Win32プロジェクト
3. プロジェクト名を入力(foo)、OK押下

4. ”Win32 アプリケーション ウィザードへようこそ”より
5. ”次へ”選択押下
6. アプリケーションの種類
7. ”DLL”チェック
8. ”追加のオプション”チェック
9. ”空のプロジェクト”チェック
10. 完了押下

11. ソリューションエキスプローラより
12. ソースファイル
13. 右クリック
14. 追加
15. 新しい項目
16. ”C++ファイル”チェック
17. ファイル名を入力(foodll.cpp)
18. Debugモードでコンパイル

以上です。
Geo=TK3
会議室デビュー日: 2005/01/12
投稿数: 2
投稿日時: 2007-01-03 16:08
>2 番目の引数を 'char [100]' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)

VS2005 使ってないので上記メッセージからの憶測ですが、設定が Unicode 用になってる気がします。
VS2003 だったか VS2005 くらいからデフォルト設定が MBCS から UNICODE に変わってるという話はよく聞くので、その辺の設定を確認してみてはいかがでしょう。
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2007-01-03 16:22
この手の質問はVS2005になってからカナリあります。
・Geo=TK3さんのおっしゃるとおり、コンパイルオプションを変更するか、
(文字セットをUnicode文字セットからマルチバイト文字セットに変更)
・char型ではなくTCHAR型を、"〜"ではなくTEXTマクロを使ったTEXT("〜")に、
strcpy等のchar型用の関数ではなく、_tcscpy等のTCHAR型用の関数を使うように変更するか、
・いっそのこと、LPSTR型を欲する関数を明に使う
のいずれかの対応になるでしょう。

TCHARに関しては
http://www.ruche-home.net/program/tips/tchar.php
を参考にしてください。
未記入
会議室デビュー日: 2006/06/02
投稿数: 11
投稿日時: 2007-01-03 19:54
Geo=TK3さんBlueさん回答ありがとうございます

古い構文(/clr:oldSyntax)のコンパイルと文字セット→設定なしを選択したら
警告は出ますが、作成できましたありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)