"架构x86_64的未定义符号:"

h4x*_*jax 6 macos xcode 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...:
         ...
Run Code Online (Sandbox Code Playgroud)

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位只是为了踢,也没用)

zco*_*rts 2

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

FIND_LIBRARY(LIB_NAME_LIB lib)
TARGET_LINK_LIBRARIES(my_executable ${LIB_NAME_LIB})
Run Code Online (Sandbox Code Playgroud)

在您的 CMakeLists.txt 文件中。