Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anteriorÚltima revisãoAmbos lados da revisão seguinte |
compilando_o_warzone2100_no_free_bsd [2012/11/08 15:18] – cartola | compilando_o_warzone2100_no_free_bsd [2012/11/08 18:00] – acertando versão wz e colocando do fbsd cartola |
---|
| |
======= Compilando a versão 3.0rc3 ======= | ======= Compilando a versão 3.1_rc3 ======= |
| |
| |
O [[http://wz2100.net|warzone2100]] já está portado para o FreeBSD há algum tempo, mas em geral o pessoal demora um pouco para atualizar a versão. Resolvi então compilar a versão 3.0rc3 do jogo e depois de alguns percalços resolvi compartilhar aqui o que fiz, pois não é tarefa muito óbvia. Em caso de dúvidas, críticas e sugestões entre em contato comigo pelo email {{arquivo:meuend.png}} | O [[http://wz2100.net|warzone2100]] já está portado para o FreeBSD há algum tempo, mas em geral o pessoal demora um pouco para atualizar a versão. Resolvi então compilar a versão 3.1_rc3 do jogo e depois de alguns percalços resolvi compartilhar aqui o que fiz, pois não é tarefa muito óbvia. Em caso de dúvidas, críticas e sugestões entre em contato comigo pelo email {{arquivo:meuend.png}} |
| |
| O FreeBSD onde esta compilação foi feita foi um 9.1-RC1. |
| |
| |
| |
| |
O problema de usar mais de uma versão de gcc é que a biblioteca lstdc++ encontrada por padrão mesmo pelas novas versões instaladas é a original. A única maneira que encontrei, por enquanto, para resolver isso é executar manualmente a última etapa de compilação colocando parâmetros nos locais corretos para que a lstdc++ encontrada seja a correspondente ao compilador usado. | O problema de usar mais de uma versão de gcc é que a biblioteca lstdc++ encontrada por padrão mesmo pelas novas versões instaladas é a original. A única maneira que encontrei, por enquanto, para resolver isso é executar manualmente a última etapa de compilação colocando parâmetros nos locais corretos para que a lstdc++ encontrada seja a correspondente ao compilador usado. O erro indica que o compilador não encontrou algumas referências a objetos: |
| |
| | | astar.o: In function `std::list<PathBlockingMap, std::allocator<PathBlockingMap> >::swap(std::list<PathBlockingMap, std::allocator<PathBlockingMap> >&)':/usr/local/lib/gcc48/include/c++/bits/stl_list.h:1213: undefined reference to `std::__detail::_List_node_base::swap(std::__detail::_List_node_base&, std::__detail::_List_node_base&)'astar.o: In function `std::list<PathfindContext, std::allocator<PathfindContext> >::_M_insert(std::_List_iterator<PathfindContext>, PathfindContext const&)':/usr/local/lib/gcc48/include/c++/bits/stl_list.h:1551: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'astar.o: In function `std::list<PathfindContext, std::allocator<PathfindContext> >::_M_transfer(std::_List_iterator<PathfindContext>, std::_List_iterator<PathfindContext>, std::_List_iterator<PathfindContext>)':/usr/local/lib/gcc48/include/c++/bits/stl_list.h:1543: undefined reference to `std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)'astar.o: In function `std::list<PathBlockingMap, std::allocator<PathBlockingMap> >::_M_insert(std::_List_iterator<PathBlockingMap>, PathBlockingMap const&)':/usr/local/lib/gcc48/include/c++/bits/stl_list.h:1551: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'design.o: In function `std::list<DROID_TEMPLATE, std::allocator<DROID_TEMPLATE> >::_M_erase(std::_List_iterator<DROID_TEMPLATE>)':/usr/local/lib/gcc48/include/c++/bits/stl_list.h:1567: undefined reference to `std::__detail::_List_node_base::_M_unhook()'design.o: In function `std::list<DROID_TEMPLATE, std::allocator<DROID_TEMPLATE> >::_M_insert(std::_List_iterator<DROID_TEMPLATE>, DROID_TEMPLATE const&)':/usr/local/lib/gcc48/include/c++/bits/stl_list.h:1551: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'fpath.o: In function `std::list<PATHRESULT, std::allocator<PATHRESULT> >::_M_insert(std::_List_iterator<PATHRESULT>, PATHRESULT const&)':/usr/local/lib/gcc48/include/c++/bits/stl_list.h:1551: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'fpath.o: In function `std::list<PATHJOB, std::allocator<PATHJOB> >::_M_erase(std::_List_iterator<PATHJOB>)':/usr/local/lib/gcc48/include/c++/bits/stl_list.h:1567: undefined reference to `std::__detail::_List_node_base::_M_unhook()'fpath.o: In function `std::list<PATHRESULT, std::allocator<PATHRESULT> >::_M_erase(std::_List_iterator<PATHRESULT>)':/usr/ |