Эй, ребята, это может быть нубский вопрос, но я действительно не могу найти никакого полезного решения через Google.Я тестирую hello world с boost.asio, программа довольно проста:
#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
int main()
{
boost::asio::io_service io;
boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
t.wait();
std::cout << "Hello, world!\n";
return 0;
}
Я прошел компиляцию и хорошо запускаюсь на своем Intel Pentium PC (Ubuntu 10.10, gcc 4.4.5, Boost 1.46.0) .Командная строка, которую я использовал, была
g ++ -oa a.cpp -I / Boost-Include-Path / -L / Boost-lib-Path / -lboost_system
Но когда я компилирую тот же код на другом компьютере (который является большим, я объясню это позже), он не может пройти компиляцию и выдает такие ошибки:
/tmp / ccOZxZBX.o: в функции boost::asio::detail::gcc_sync_fenced_block::gcc_sync_fenced_block()': a.cpp:(.text._ZN5boost4asio6detail21gcc_sync_fenced_blockC1Ev[boost::asio::detail::gcc_sync_fenced_block::gcc_sync_fenced_block()]+0x4c): undefined reference to
__ sync_lock_test_and_set_4 '/tmp/ccOZxZBX.o: в функции boost::detail::atomic_count::operator++()': a.cpp:(.text._ZN5boost6detail12atomic_countppEv[boost::detail::atomic_count::operator++()]+0x30): undefined reference to
__ sync_add_and_fetch_8' /tmp/ccOZxZBX.o: в функции boost::detail::atomic_count::operator--()': a.cpp:(.text._ZN5boost6detail12atomic_countmmEv[boost::detail::atomic_count::operator--()]+0x30): undefined reference to
____0_x_0boost::detail::atomic_count::operator long() const': a.cpp:(.text._ZNK5boost6detail12atomic_countcvlEv[boost::detail::atomic_count::operator long() const]+0x30): undefined reference to
__ sync_fetch_and_add_8 '
Я использовал машину SiCortex SC5832, в которой используются процессоры набора команд MIPS64, изменилась ОС CentoOS.Gcc 4.2.3, Boost1.46.0.Возможно ли, что есть проблемы с совместимостью MIPS?Я добавил опцию -mips64, но все равно выдает те же ошибки.Я знаю, что эта среда не может быть очень обычной, но я думаю, что некоторые люди, использующие похожие большие машины, могут столкнуться с той же проблемой.Кстати, у меня нет разрешения sudo.
Спасибо, Тони