“架构x86_64的未定义符号:”

时间:2014-06-17 17:58:02

标签: xcode macos cmake clang dylib

我试图在mac os x Mavericks 10.9.3 64位上编译这个库:http://www.openfec.org/downloads.html

我完全遵循了README,并得到了这个错误:

  

链接C共享库../../ 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:找不到架构x86_64的符号
  clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
  make [2]: * [../bin/Release/libopenfec.dylib]错误1
  make [1]:*
[src / CMakeFiles / openfec.dir / all]错误2
  make:*** [all]错误2

我只是按照README的OpenFEC发行版(在http://www.openfec.org/downloads.html找到)。尝试制作时,会出现此错误。 我不知道问题是什么。

这是我在解开分发后所做的事情:
(1.):mkdir build
(2.):cd build
(3.):cmake .. -DDEBUG:STRING = OFF
(4.):make

有什么想法吗?

编辑:试图强制cmake使用64位,仍然无法正常工作 (试图将它强制为32位只是为了踢,也没有用)

1 个答案:

答案 0 :(得分:2)

仅供参考,如果没有解决。检查您是否正确链接到库。

FIND_LIBRARY(LIB_NAME_LIB lib)
TARGET_LINK_LIBRARIES(my_executable ${LIB_NAME_LIB})

在您的CMakeLists.txt文件中。

相关问题