ベアメタルARMシステムでEigenを評価します。ここでは、私がコンパイルしようとしているものです:固有のサンプルコードでARMベアメタルコンパイルが失敗する
#include <Eigen/Dense>
using Eigen::MatrixXd;
void test()
{
MatrixXd m(2,2);
m(0,0) = 3;
m(1,0) = 2.5;
m(0,1) = -1;
m(1,1) = m(1,0) + m(0,1);
}
コンパイルが私に与え、この:
[email protected] ~/Projects/Eigen $ /usr/bin/arm-none-eabi-g++ -I ./eigen-eigen-3.3.3 test.cpp -o test.o
In file included from ./eigen-eigen-3.3.3/Eigen/Dense:1:0,
from test.cpp:5:
./eigen-eigen-3.3.3/Eigen/Core:66:17: fatal error: new: No such file or directory
compilation terminated.
私はCプログラマではなく、C++ですが、私は、これは、ライブラリの問題であることを理解してください。私はベアメタルシステムでC++を使用する上でいくつかの参考文献を見てきましたが、率直に言って私はまだどのように進めるのか困惑しています。私はmalloc()、free()などの不足しているものを除外したいので、コンパイルを成功させることができます。私はnewhと-nostdinC++ -include new.hをコンパイラの呼び出しで使用しようとしましたが、それは動作しませんでした。
私は簡単な間違いをしているのですか、この環境でEigenを愚かな使命にしようとしていますか?どんな指針も大変ありがとうございます。
これはC++ライブラリの一般的な問題だと思うので、一般的なC++のヒントを検索することができます。ところで、ヘッダファイルの標準的な欠落は '.h'拡張子なしの' new'です。これは一歩進んでいくのに役立ちます。あなたが何か動作するようになったら、Eigenの開発者に短いチュートリアルを送ってwiki/docに載せてください。 – ggael
また、他の誰かが(あなただったら?)同様のプラットフォームでEigenを扱うことができました:https://forum.kde.org/viewtopic.php?f=74&t=138964彼にアドバイスを依頼してください。 – ggael