Какую архитектуру использовать в OSX? - PullRequest
1 голос
/ 20 февраля 2012

Я закончил установку boost mpi с openmpi в качестве базовой реализации и пытался скомпилировать простую программу для тестирования.

Я скомпилировал свою библиотеку MPI Boost следующим образом:

./bjam toolset=darwin architecture=x86 address-model=32 install

Я скомпилировал свою программу mpi со следующим:

mpic++ -I/opt/boost_1_46_1/include mpi_play.cpp -L/opt/boost_1_46_1/lib -lboost_mpi -lboost_serialization

Но там написано

ld: warning: in /opt/boost_1_46_1/lib/libboost_mpi.dylib, file was built for i386 which is not the architecture being linked (x86_64)

Я знал, что команда bjam, которую я использовал, была для сборки библиотеки в i386. Это то, что мне нужно сделать для использования библиотеки потоков повышения в XCode. Итак, теперь я не уверен, каков наилучший подход к тому, чтобы все эти библиотеки boost и mpi библиотеки работали в mac.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2012

Передайте address-model=64 в командную строку bjam, чтобы создать библиотеку MPI x86_64, которую вы можете связать со своим кодом.Или скомпилируйте свой код как x86 (-arch i386), чтобы использовать уже созданную ранее библиотеку MPI x86.

0 голосов
/ 20 февраля 2012

Если вам нужны сборки i386, передайте -arch i386 в mpic ++, который должен передать его базовому компилятору.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...