1

trilinos 11.0.3をインストールしたばかりですが、cmakeを使用して最初のアプリケーションをコンパイルしようとしています。

私がコンパイルしようとしているファイルはここにあります http://code.google.com/p/trilinos/wiki/EpetraSimpleVector

最初のコマンドcmakeは機能しているようですが、各trilinosパッケージに次の警告が表示されます(関連する場合に備えて)。

    CMake Warning (dev) at /home/giorgos/Documents/TRILINOS/lib/cmake/Trilinos/
    TrilinosTargets.cmake:208 (ADD_LIBRARY):        
    ADD_LIBRARY called with SHARED option but the target platform does not
    support dynamic linking.  Building a STATIC library instead.  This may lead
    to problems.

それ以外は、トリリノスの場所が含まれており、ライブラリが正しく検出されているようです

ただし、makeコマンドは次のような同様のエラーのリストを生成します。

    /home/giorgos/Documents/mpi_tests/trilinos_test/test1/src/teuchos_test.cpp:11:
    undefined reference to `Epetra_SerialComm::Epetra_SerialComm()'

    /home/giorgos/Documents/mpi_tests/trilinos_test/test1/src/teuchos_test.cpp:16: 
    undefined reference to `Epetra_Map::Epetra_Map(int, int, Epetra_Comm const&)'

    /home/giorgos/Documents/mpi_tests/trilinos_test/test1/src/teuchos_test.cpp:19: 
    undefined reference to `Epetra_Vector::Epetra_Vector(Epetra_BlockMap const&, bool)'

    /home/giorgos/Documents/mpi_tests/trilinos_test/test1/src/teuchos_test.cpp:20: 
    undefined reference to `Epetra_Vector::Epetra_Vector(Epetra_BlockMap const&, bool)'

ここで何が起こっているのか分かりますか?

(最初にteuchosパッケージからコードをコンパイルしようとしたため、ソースファイルにteuchos_test.cppという名前を付けましたが、上記と同様のエラーが発生していました)

ありがとうございました

ジョルゴス

4

2 に答える 2

-1

cmake を使用して trilinos の例をコンパイルすることはできませんでしたが、自分ですべてをリンクすることでコンパイルできました。上記のエラーが発生する例では、次のことを行いました

  g++ -o teuchos_test teuchos_test.cpp \ 
  -I/home/giorgos/Documents/TRILINOS/include \
  -L/home/giorgos/Documents/TRILINOS/lib -lepetra

epetra パッケージのみに依存するため (名前を変更する必要があります :))

ただし、トリリノをcmakeでコンパイルする方法を知っている人がいれば、ここに入力していただければ幸いです

于 2013-03-07T22:54:45.550 に答える