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
#importする理由は何?
ドキュメントのどこに書いてあるの?
>#importする理由は何?
>ドキュメントのどこに書いてあるの?
確かにそうなんですが、#importしないとリンクエラーになるんですよ。
いろいろ検索してみてたんですが、MFCを使わない場合では、
using ItunesLib ? などでいけているようなのですが、
MFCの場合はCOMをどのように結びつければいいのでしょうか?
C# + .netでは なにやら参照して追加するみたいですが・・・。
私のやり方自体に問題があるのでしょうか?
リンクエラー → #Importする
のロジックが良くわからん。
それだけではなんなので
#undef GetFreeSpace
すればコンパイルエラーがひとつ減るかもね。