yhijioka779’s diary

作業メモとかなんかそのあたり.Markdown使えるのは便利だよね.

CeVIO をVC++で外部連携インタフェースとして使う

CeVIO Creative Studioは,COM コンポーネントとして VC++ で使うことができるが, import ディレクティブがエラーを表示していた.
ビルドは成功するので,大きな問題はないのだろうけど,名前空間を認識していないので 開発するうえで困る.
しばらく解決策を探していたのだけど,ようやくみつかったので備忘録として残しておく.

問題の状態

画像のように,import ディレクティブがエラー(赤破線)になっている.
それを起点として,名前空間を使っているところもエラーを表示する(画像では消えているが).
f:id:yhijioka779:20160226142832p:plain

解決策(2016/02/26 19:42)

"libid:~" の部分を,"CeVIO.Talk.RemoteService.tlb" に修正した.
今度こそうまくエラーを消すことができたように思う.

(2016/02/26 19:36)

以下,間違っていたようである.
解決までの経過を残す意味で,このままにしておく.

(2016/02/26 16:30)

と思ってたけど,なんかダメだった.
なんでだろう.さっきまでは大丈夫だったのになあ……

で,そのときのプロジェクトの全般設定はこうなっている.
大事なところは赤下線のところ.
f:id:yhijioka779:20160226144540p:plain

修正方法

プロジェクトプロパティの「全般」から「共通言語ランタイムサポート」を選択し, 『共通言語ランタイムサポートを使用しない』から『共通言語ランタイムサポート(/clr)』に変更する.
f:id:yhijioka779:20160226144537p:plain

共通言語ランタイムを使うことが重要なのだろう.
よくわかっていないけれど.