「IntelliSense:ソースファイルを開けません」の対処について – プログラミング – Home

「IntelliSense:ソースファ...
 
通知
すべてクリア

[解決済] 「IntelliSense:ソースファイルを開けません」の対処について


紅'
 紅'
(@紅')
ゲスト
結合: 17年前
投稿: 48
Topic starter  

教えてください。

WindowsXP + VS2010 で Win32 プログラムを作成します。

DirectShow を使用するため qedit.h をインクルードすると、
エラー一覧のタブに以下のメッセージが表示され、当該行には
赤い波線の下線が表示されます。

IntelliSense:ソースファイルを開けません qedit.h

もともとは VS2008 で作成していたプログラムを 2010 に移行しているところです。
VS2008 の環境では問題はありませんでした。
ほかのインクルードファイルでは問題は生じていません。

VS2010 では WindowsSDK 7.0 を参照しているようで、そのままでは
qedit.h を参照できないため以下の設定を行なっています。

・%ProgramFiles%\\Microsoft SDKs\Windows\v6.1\Include を
 VC++ ディレクトリのインクルードディレクトリに追加
・qedit.h で参照している DxTrans.h がなくてエラーとなるため、
 当該ファイルを作成してこの中で必要?な define 定義を設定

結果、コンパイルは正常に行なえ、作成したプログラムも
正常に動作しているようなのですが、冒頭の問題が生じています。
新規のプロジェクトを作成して同じ設定をしても、結果は変わりませんでした。

コンパイルは正常にできるので、気にしなければそれでよいようにも
思えるのですが、非常に気になります。

お心当たりがございましたら、ご教示ください。お願いいたします。

以上です。


引用未解決
トピックタグ
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
 

私はqedit.hは何箇所かいじってプロジェクト内に作っちゃいましたねぇ
派生廻りとdxtrans.hのインクルード関係がちょっと嫌がるみたいですね
って、VS2008での話しなんですけど、
移行前はVS2008でそのまま使えたんですか?

ちょっと不思議…


返信引用
えーと
 えーと
(@えーと)
ゲスト
結合: 19年前
投稿: 54
 

qedit.hを使わず、
#import libid:78530B68-61F9-11D2-8CAD-00A024580902
でいけませんか?
これで、
qedit.tlh
qedit.tli
が出来ます。
これを使えばできそうな感じですが...

参考URL
http://social.msdn.microsoft.com/Forums/en-
US/windowsdirectshowdevelopment/thread/2ab5c212-5824-419d-b5d9-7f5db82f57cd


返信引用
えーと
 えーと
(@えーと)
ゲスト
結合: 19年前
投稿: 54
 

別手段なので
本題の解決にはなりませんが...


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

> 別手段なので
> 本題の解決にはなりませんが...
ちょっとぐぐってみる限りでは、えーとさんの手段をすすめていますね。


返信引用
紅'
 紅'
(@紅')
ゲスト
結合: 17年前
投稿: 48
Topic starter  

返信をありがとうございます。
遅くなり申し訳ありません。

hiroccoさま。

はい。
移行前の環境では dxtrans.h のダミーを作ってしのいだほかは
問題なく使用できていました。
おそらく 2010 でインテリセンスのチェックが厳しくなった結果なのだろうとは
思うのですが。不思議な現象ではあります。

えーとさま。
ITO さま。

ご提示いただいた方法を確認しました。
安全に使用できれば問題ないので、この方法を利用させていただきます。
というか、こういうやり方もあったのですね。
まだ少し試行錯誤していますが、たぶん乗り切れると思います。

以上で解決とさせていただきます。
ありがとうございました。


返信引用
hirocco
 hirocco
(@hirocco)
ゲスト
結合: 14年前
投稿: 138
 

存在しなくなった dxtrans.h をインクルードしてたり、
IDxtCompositor,IDxtAlphaSetter,IDxtJpeg,IDxtKeyの継承関係が変わっていたりして
て、
qedit.h は問題が付き物ですよねぇ

#importで参照するにしても、exclude しなきゃいけなかったり、多重定義が発生したり
するし、

SampleGrabber,IID_ISampleGrabberCB,IID_ISampleGrabber,ISampleGrabberCB,ISampleG
rabber
の再宣言っていうのも楽じゃないよねぇ

DirectShowってDirectXじゃなくなったんだから、Directなんて言葉外しちゃって、上位
互換でxxxShowなんて別の名前で作り直して、もっと使いやすくなるといいのにって思い
ますよ

って最新使えば問題ないとか、そういうのあったりします?
それか、もっと素敵な方法とかあったりしてとか、考えちゃいますよ


返信引用
紅'
 紅'
(@紅')
ゲスト
結合: 17年前
投稿: 48
Topic starter  

むしろ Microsoft は DirectShow 自体をなかったことにしたいんじゃないかと
思ってみたりします。w

でも便利だから手放せないんですよね。
非公開の技術で代替策があったりしそうなのですが。。。


返信引用
えーと
 えーと
(@えーと)
ゲスト
結合: 19年前
投稿: 54
 

> むしろ Microsoft は DirectShow 自体をなかったことにしたいんじゃないかと
> 思ってみたりします。w
どちらかというと、Media Foundationに統一したいのかもと思っています。

ただ、XPで動かないから手を出しづらいんですよねぇ。
# Windows2000でも動かすようにしてくれと言うユーザがまだいるぐらいですし。w
# 会社ではXPなので、これ使ってプログラムできない^^;

http://blogs.msdn.com/b/hiroyuk/archive/2009/05/25/9639698.aspx


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました