#はじめに
コロナウイルス感染防止の関係で対面での実験が行えなくなったので、今まで実験室で行っていた実験のプログラムをコンパイルして実行ファイル化し、リモートで実験をやることになった。
その際、コンパイルするにあたって色々つまづいたところの個人的メモです。
初投稿なので、不慣れなところもあるかもしれませんがよろしくお願いします。
#環境
- Windows 10
- MATLAB R2019b
- Psychtoolbox
#実験プログラムをコンパイルしてみる
今まで使っていた実験プログラムを特にいじることなくMATLAB Compilerでコンパイルしてみた。
しかし、ダメ。
###考えうる原因
- Psychstartupがうまくいってない
- 無効なMEXファイル
調べたら、どうやらMATLAB R2019bとPsychtoolboxの最新バージョンの組み合わせだとうまくコンパイルできないっぽい。
#Psychtoolboxのダウングレード
Psychtoolboxをダウングレードしていく。
>> UpdatePsychtoolbox(PsychtoolboxRoot, 'PREV')
Revisionのバージョンを10579まで下げたら直った。
>> PsychtoolboxVersion ans = '3.0.16 - Flavor: beta - Corresponds to SVN Revision 10579
調べたらRevision 10580にてScreen等の変更があったようで、これが原因かもしれない。
#ダウングレード大事
ダウングレード大事ですね・・・。
あといちいちコンパイルするのも面倒なので、PsychopyとかProcessingでプログラムを書いた方がいいのかもしれません。(Psychopyだと実験結果のデータを格納するフォルダを勝手に作ってくるので、パス操作とかそういうのに詳しくない被験者にも安心かも)
#追記
Windows 64bitで実行ファイルを実行するときは、GStreamerのMSVC runtimeを入れるのをお忘れなく。