“Les symboles non définis pour l'architecture x86_64:”

Je cherche à compiler cette bibliothèque sur mac os x Mavericks 10.9.3 64 bits: http://www.openfec.org/downloads.html

J'ai suivi le README exactement, et j'ai obtenu cette erreur:

La liaison C bibliothèque partagée ../../bin/Release/libopenfec.dylib

   Undefined symbols for architecture x86_64:
      "_of_add_from_multiple_symbols", referenced from:
         _of_linear_binary_code_backward_substitution in of_ml_tool.c.o
      "_of_add_to_symbol", referenced from:
         _of_linear_binary_code_decode_with_new_symbol in of_it_decoding.c.o
         _of_linear_binary_code_simplify_linear_system in of_ml_decoding.c.o
         _of_linear_binary_code_col_forward_elimination_pivot_reordering in of_ml_tool.c.o
         _of_linear_binary_code_apply_gauss_pivoting in of_ml_tool_2.c.o
         _of_linear_binary_code_inject_symbol_in_triangular_system in of_ml_tool_2.c.o
         _of_linear_binary_code_solve_triangular_system in of_ml_tool_2.c.o
         _of_linear_binary_code_invert_dense_system in of_ml_tool_2.c.o
         ...
      "_of_calloc", referenced from...:
         ...

ld: symbole(s) ne se trouvent pas pour l'architecture x86_64

clang: erreur: échec de la commande de l'éditeur de liens avec le code de sortie 1 (l'option-v pour voir invocation)

make[2]: * [../bin/Release/libopenfec.dylib] Erreur 1

make[1]: *
[src/CMakeFiles/openfec.dir/all] Erreur 2

make: *** [all] Erreur 2

J'ai tout simplement suivi le README pour OpenFEC de la distribution (qui se trouve à http://www.openfec.org/downloads.html). Lorsque vous tentez de le faire, cette erreur survient.
Je n'ai aucune idée de ce qu'est le problème.

C'est ce que j'ai fait après décompacter la distribution:

(1.): mkdir build

(2.): cd build

(3.): cmake .. -DDEBUG:STRING=OFF

(4.): faire

Des idées?

Edit: Tentative de forcer cmake d'utilisation du 64 bits, n'a toujours pas de travail.

(Essayé de le forcer en 32 bits, juste pour le plaisir, aussi ne fonctionne pas)

  • "Les symboles non définis pour l'architecture x86_64" signifie que la bibliothèque est construite pour une autre architecture. La bibliothèque de l'architecture cible pourrait être de 32 bits(c'est à dire i386). Savoir comment construire cette bibliothèque pour l'architecture 64 bits(x86_64).
  • Pouvez-vous juste un coup d'oeil à cette question sur la compilation en 64 bits architecture de l'utilisation de cmake.
  • Je l'ai fait, et j'ai fait une tentative. Malheureusement, cela n'a pas résolu le problème.
InformationsquelleAutor h4x0rjax | 2014-06-17