.cpp を MetaEditor でコンパイル
先日のブログ記事で MQL コンパイラの変化について軽くまとめました。
その過程で気がついたのですが、どうやら最近のビルド(610 以降)では、MetaEditor にいろいろな変化が起きているようです。
たとえば、(Visual C++ を含む) Visual Studio 2010 がインストールされている環境で、ビルド 616 の MetaEditor を起動すると、次のようなメッセージが表示されます。
なぜか Visual C++ の存在を検出しているご様子。
実は、MetaEditor 上で直接 .cpp
ファイルをコンパイルして、DLL を作れるようにしよう、という方向性で機能追加がなされているみたいです。
もしかすると、MT5 では以前から出来たことなのかもしれませんが、私は今回初めて知りました。
ヘルプファイルにも次のような記載があります。ゆくゆくは Visual Studio がなくてもオンラインでコンパイルできるようにするサービスも提供するとかしないとか…。
ということで、本当に DLL がビルドできるかどうかを確認するため、MQL4\Libraries
フォルダに簡単なテストの .cpp
ファイルを作成して、ツールバーの Compile ボタンをクリックしてみると…
少なくとも Visual Studio 2010 (Visual C++ 10) では、リンクで失敗してしまうようです。う~ん、微妙すぎる…。
ざっと見たところ、コンパイラやリンカを起動するコマンドラインオプションを指定する方法はないようですし、まだまだ実装途中で、実用レベルには遠い状態なのかもしれません。
最初からあんまり否定的なことばかり言うのもあれですが、こんな機能が付いたところで、有り難いと思うユーザがどれだけいるんでしょうかねぇ。
確かに Visual Studio がなくても DLL がビルドできるという点は、一見するとメリットと言えるかもしれません。
でも、わざわざ DLL を作って MT4 から呼びだそうとする人というのは、たいていの場合は、かなり複雑な計算をするとか、何らかのツールやライブラリを利用したいとか、そういうモチベーションがあるはずです。
.cpp
ファイル一つからビルドするようなお手軽 DLL を MetaEditor 上でビルドできるようになったところで、正直誰得?と思うのは私だけでしょうか。