Составить программу trilinos

Я только что установил 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_test.cpp, потому что сначала я попытался скомпилировать некоторый код из пакета teuchos, однако я получал ошибки, подобные описанным выше)

Спасибо

Йоргос

1 ответ

Ты можешь использовать cmake или же make построить свою программу с Trilinos. Я отсылаю вас к официальному учебному веб-сайту, который предоставляет подробные объяснения для обоих методов.

Я не смог скомпилировать примеры трилино с помощью cmake, но я смог сделать это, связав все сам. Для примера, который дает мне вышеуказанные ошибки, я сделал следующее

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

так как это зависит только от пакета epetra (мне еще нужно сменить название:))

Однако, если кто-нибудь знает, как скомпилировать трилино с помощью cmake, я был бы признателен за ввод здесь

Другие вопросы по тегам