Ticket #31 (closed その他: fixed)

Opened 9 years ago

Last modified 8 years ago

DSSHOWによるカメラキャプチャのプログラムについて

Reported by: wakira Owned by: somebody
Priority: Milestone:
Component: Mist Version: 1.3.6
Keywords: Cc:

Description (last modified by ddeguchi) (diff)

チュートリアルにあるDSshowによるカメラキャプチャのプログラムを試してみたのですが、

c:\documents and settings\○○\デスクトップ\mist-v1.3.6.tar\mist-v1.3.6\mist\io\bmp.h(638): error C2664: 'mist::_pixel_converter_<T>::convert_from' : 1 番目の引数を 'const std::allocator<_Ty>::value_type' から 'const mist::_pixel_converter_<T>::color_type &' に変換できません。

with [

T=mist::bgr<unsigned char>

] and [

_Ty=mist::bgr<unsigned char>

] and [

T=mist::bgr<unsigned char>

] 理由: 'const std::allocator<_Ty>::value_type' から 'const mist::_pixel_converter_<T>::color_type' へは変換できません。 with [

_Ty=mist::bgr<unsigned char>

] and [

T=mist::bgr<unsigned char>

] コンストラクタはソース型を持てません、またはコンストラクタのオーバーロードの解決があいまいです。

というエラーが出てコンパイルできません。なぜでしょう?もしかしたら初歩的な質問なのかも知れませんが、教えていただけるとありがたいです。

Change History

comment:1 Changed 9 years ago by ddeguchi

連絡いただきありがとうございます.先ほど,チュートリアルのページを更新しました.リポジトリから最新のソースをダウンロードしていただくか,チュートリアルのページから最新のサンプルコードをコピーして使用してみてください.

現状のソースをいじるのであれば,

mist::array2< mist::bgr< unsigned char > > image;

mist::array2< mist::rgb< unsigned char > > image;

にしていただければ動くのではないかと思います.

もし,うまく動作しない場合は,連絡をお願いします.

comment:2 Changed 9 years ago by anonymous

ありがとうございます。早速ご指摘のとおりにプログラムを修正してみたところ、今度は以下の4つのエラーが出てコンパイルできませんでした。

MISTDSshow error LNK2019: 未解決の外部シンボル malloc_dbg が関数 "void * cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z) で参照されました。

MISTDSshow error LNK2001: 外部シンボル "malloc_dbg" は未解決です。

MISTDSshow error LNK2019: 未解決の外部シンボル free_dbg が関数 "void cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z) で参照されました。

MISTDSshow fatal error LNK1120: 外部参照 2 が未解決です。

たびたびすみません、初歩的なことなのかもしれませんが、教えていただけるとありがたいです。

comment:3 Changed 9 years ago by wakira

追加ですが、_malloc_dbgと_free_dbgに必要なcrtdbg.hをインクルードしても同じエラーが出ます。

プログラムの6行目に#include <crtdbg.h>を追加してみました。

comment:4 Changed 9 years ago by ddeguchi

コンパイルは通っているようですが,リンクでエラーが出ているようですね.何らかのライブラリを無視する設定になっていたりしませんか?もしかして,Releaseモードでコンパイルすると正しく通ったりしますか?

あと,どの開発環境でどのバージョンのPlatformSDKをお使いでしょうか?手元の環境(VS2005とVS2008)では正しく動作することを確認しました.プロジェクトの設定は,「WIN32コンソールアプリケーション」で空の構成でプロジェクトを作成し,C++のソースファイルを追加して行えば行けるんでないかと思います.もし可能であれば,作成されたプロジェクトファイルをメールアドレスの画像を添付
までメール頂ければチェックしたいと思います.

念のため,上記のことを確認していただけますか?

comment:5 Changed 9 years ago by anonymous

ありがとうございます。

ご指摘のとおり、Releaseモードでコンパイルすると問題なく通りました。

開発環境はVS.NET2003、PlatformSDKはWindows® Server 2003 SP1 Platform SDK(Version:3790.1830、インストール用のファイル名はPSDK-x86.exe)です。 改めてメールでプロジェクトファイルを送らせていただきますので、チェックしていただけると幸いです。

comment:6 Changed 9 years ago by ddeguchi

  • Description modified (diff)

comment:7 Changed 9 years ago by wakira

先ほどメールを送ったのですが、返ってきてしまいます。 届いていないでしょうか?

comment:8 Changed 9 years ago by ddeguchi

こちらのサーバーの設定が変更されていたため,先ほどのアドレスが使用できないようになっていたようです.申し訳ありませんが,直接私のほうにメールを送っていただけますか?メールアドレスは, メールアドレスの画像を添付
の@マークより前の部分を,ddeguchiに置き換えてください.

お手数をおかけして申し訳ありませんが,再度私の方へメールの送信をお願いします.

comment:9 Changed 8 years ago by ddeguchi

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.