2017-03-16 147 views
1

我是Halide的新手,剛剛成功從源代碼編譯Halide。我想從源代碼(https://github.com/halide/Halide/tree/master/apps/camera_pipe)嘗試camera_pipe應用程序,但出現以下錯誤,我不確定如何調試/修復它。提前感謝您的任何建議或幫助!在Mac OS上編譯Halide的camera_pipe應用程序的問題

我的系統是運行Mac OS Sierrar(10.12.3)

這是命令Makefile中運行:

c++ -std=c++11 -I ../../include/ -I ../../tools/ -I ../../apps/support/ -g -fno-rtti camera_pipe_generator.cpp ../../lib/libHalide.a ../../tools/GenGen.cpp -o bin/camera_pipe_exec -L/usr/local/lib -ldl -lpthread -lz 

這是錯誤輸出,我得到:

Undefined symbols for architecture x86_64: 
     "_del_curterm", referenced from: 
      llvm::sys::Process::FileDescriptorHasColors(int) in libHalide.a(llvm_460_Process.cpp.o) 
     "_set_curterm", referenced from: 
      llvm::sys::Process::FileDescriptorHasColors(int) in libHalide.a(llvm_460_Process.cpp.o) 
     "_setupterm", referenced from: 
      llvm::sys::Process::FileDescriptorHasColors(int) in libHalide.a(llvm_460_Process.cpp.o) 
     "_tigetnum", referenced from: 
      llvm::sys::Process::FileDescriptorHasColors(int) in libHalide.a(llvm_460_Process.cpp.o) 
    ld: symbol(s) not found for architecture x86_64 
    clang: error: linker command failed with exit code 1 (use -v to see invocation) 
    make: *** [bin/camera_pipe_exec] Error 1 
+0

'../../ lib/libHalide.a'從哪裏來的?你也建立它了嗎?使用相同的工具鏈? –

+0

我認爲我在從halide目錄(https://github.com/halide/Halide)運行「make」時構建了它,並且它在那裏沒有錯誤地編譯。我認爲它是用同樣的工具鏈。 – user3554661

+0

更新:我重新運行「make-clean」和「make」,所以我確定它現在使用相同的工具鏈。但是,我仍然得到同樣的錯誤。感謝您的建議。 – user3554661

回答

0

看起來你的llvm依賴於terminfo,但攝像機管道默認不會鏈接它。嘗試將-ltinfo與-lpthread -lz等一起添加到makefile中。

+0

謝謝,我沒有安裝tinfo,我不知道在哪裏得到它,但我試着用-lcurses替換它,並且得到了以下錯誤:ld:file too small(length = 0)file 'bin/Demosaic.o'用於體系結構x86_64 clang:錯誤:鏈接器命令失敗,退出代碼1(使用-v查看調用)' – user3554661

+0

這是當前的Makefile命令:'C++ -std = C++ 11 -I ../../include/ -I ../../tools/ -I ../../apps/support/ -Wall -O3 -I./bin process.cpp bin/camera_pipe.a bin/Demosaic .o bin/Demosaic_ARM.o -o bin/process -L/usr/local/Cellar/libpng/1.6.28/lib -lpng16 -ljpeg -I/usr/local/Cellar/libpng/1.6.28/include/libpng16 -I/usr/local/Cellar/libpng/1.6.28/include/libpng16/.. -lcurses -L/usr/local/lib -ldl -lpthread -lz' – user3554661

+0

對不起,但有什麼我可以修復的那個錯誤? – user3554661