Softgate Limited

株式会社ソフトゲート コーポレートブログ

.cpp を MetaEditor でコンパイル

先日のブログ記事で MQL コンパイラの変化について軽くまとめました。

その過程で気がついたのですが、どうやら最近のビルド(610 以降)では、MetaEditor にいろいろな変化が起きているようです。

たとえば、(Visual C++ を含む) Visual Studio 2010 がインストールされている環境で、ビルド 616 の MetaEditor を起動すると、次のようなメッセージが表示されます。

f:id:Softgate:20140315194315p:plain

なぜか Visual C++ の存在を検出しているご様子。

実は、MetaEditor 上で直接 .cpp ファイルをコンパイルして、DLL を作れるようにしよう、という方向性で機能追加がなされているみたいです。

もしかすると、MT5 では以前から出来たことなのかもしれませんが、私は今回初めて知りました。

ヘルプファイルにも次のような記載があります。ゆくゆくは Visual Studio がなくてもオンラインでコンパイルできるようにするサービスも提供するとかしないとか…。

f:id:Softgate:20140315194332p:plain

ということで、本当に DLL がビルドできるかどうかを確認するため、MQL4\Libraries フォルダに簡単なテストの .cpp ファイルを作成して、ツールバーの Compile ボタンをクリックしてみると…

f:id:Softgate:20140315194354p:plain

少なくとも Visual Studio 2010 (Visual C++ 10) では、リンクで失敗してしまうようです。う~ん、微妙すぎる…。

ざっと見たところ、コンパイラやリンカを起動するコマンドラインオプションを指定する方法はないようですし、まだまだ実装途中で、実用レベルには遠い状態なのかもしれません。

最初からあんまり否定的なことばかり言うのもあれですが、こんな機能が付いたところで、有り難いと思うユーザがどれだけいるんでしょうかねぇ。

確かに Visual Studio がなくても DLL がビルドできるという点は、一見するとメリットと言えるかもしれません。

でも、わざわざ DLL を作って MT4 から呼びだそうとする人というのは、たいていの場合は、かなり複雑な計算をするとか、何らかのツールやライブラリを利用したいとか、そういうモチベーションがあるはずです。

.cpp ファイル一つからビルドするようなお手軽 DLL を MetaEditor 上でビルドできるようになったところで、正直誰得?と思うのは私だけでしょうか。