iTunes COM SDKをMFCで利用したいが・・・

[戻る]
gontax 2005/05/11(水) 10:17:09
MFCでプロジェクトを作成し
iTunes COM SDKを
http://developer.apple.com/sdk/itunescomsdk.html
よりダウンロードしてきたソースとヘッダをプロジェクトへ追加

ソース頭に
#import "C:\\Program Files\\iTunes\\iTunes.exe"
を追加しました。

コンパイルすると・・・下記のようなエラーが出ました。

itunes.tlh(222) : warning C4003: マクロ 'GetFreeSpace' に指定された実引数の数が少
なすぎます。
itunes.tlh(222) : error C2629: 'double (' は不正です。
itunes.tlh(222) : error C2238: ';' の前に不正なトークンがあります。
itunes.tli(85) : warning C4003: マクロ 'GetFreeSpace' に指定された実引数の数が少な
すぎます。
itunes.tli(85) : error C2589: '(' : スコープ解決演算子 (::) の右側にあるトークンは使え
ません。
itunes.tli(85) : warning C4091: 空白の宣言が見つかりました。
itunes.tli(85) : error C2143: 構文エラー : ';' が '::' の前に必要です。
itunes.tli(85) : error C2059: 構文エラー : '::'
itunes.tli(85) : error C2143: 構文エラー : ';' が '{' の前に必要です。
itunes.tli(85) : error C2447: '<L_PROPERTY>' : 関数ヘッダがありません (旧形式の仮
引数リスト?)

MFCのGetFreeSpaceとあたっているのが原因かとは思っているのですが
GetFreeSpaceがマクロ定義のため?
raw_method_prefix("Prefix")も意味がないようです。

このような場合の#importの設定などのように設定したらいいのでしょうか?
よろしくお願いします。

環境:WindowsXPsp2 VistalStudio6.0

各無し 2005/05/11(水) 12:40:48
#importする理由は何?
ドキュメントのどこに書いてあるの?

gontax 2005/05/11(水) 14:21:02
>#importする理由は何?
>ドキュメントのどこに書いてあるの?

確かにそうなんですが、#importしないとリンクエラーになるんですよ。
いろいろ検索してみてたんですが、MFCを使わない場合では、
using ItunesLib ? などでいけているようなのですが、
MFCの場合はCOMをどのように結びつければいいのでしょうか?

C# + .netでは なにやら参照して追加するみたいですが・・・。

私のやり方自体に問題があるのでしょうか?

各無し 2005/05/11(水) 16:28:14
リンクエラー → #Importする
のロジックが良くわからん。

それだけではなんなので
#undef GetFreeSpace
すればコンパイルエラーがひとつ減るかもね。

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