Составить программу 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, я был бы признателен за ввод здесь