在OS Mavericks中链接OpenCV时出错

时间:2014-07-09 05:51:27

标签: opencv build osx-mavericks

我使用自制软件安装opencv。我试图通过链接到opencv来构建一个项目。但是,我收到以下错误。

架构x86_64的未定义符号:   " cv :: FileStorage :: FileStorage(std :: __ 1 :: basic_string,std :: __ 1 :: allocator> const&,int,std :: __ 1 :: basic_string,std :: __ 1 :: allocator&gt ; const&)",引自:       imall.cpp.o中的kmeans_save(_VlKMeans const *)       imall.cpp.o中的kmeans_read()       imall.cpp.o中的learn_codebook(std :: __ 1 :: basic_string,std :: __ 1 :: allocator>)       imall.cpp.o中的编码(std :: __ 1 :: basic_string,std :: __ 1 :: allocator>)   " cv :: write(cv :: FileStorage&,std :: __ 1 :: basic_string,std :: __ 1 :: allocator> const&,cv :: Mat const&)",引自:       CV :: FileStorage&安培; CV ::运营商LT;< imall.cpp.o中的>(cv :: FileStorage&,cv :: Mat_ const&)       CV :: FileStorage&安培; CV ::运营商LT;< imall.cpp.o中的>(cv :: FileStorage&,cv :: Mat_ const&)   " cv :: write(cv :: FileStorage&,std :: __ 1 :: basic_string,std :: __ 1 :: allocator> const&,float)",引自:       CV :: FileStorage&安培; imall.cpp.o中的cv :: operator<<(cv :: FileStorage&,float const&)   " cv :: write(cv :: FileStorage&,std :: __ 1 :: basic_string,std :: __ 1 :: allocator> const&,int)",引自:       CV :: FileStorage&安培; imall.cpp.o中的cv :: operator<<(cv :: FileStorage&,int const&)   " cv :: imread(std :: __ 1 :: basic_string,std :: __ 1 :: allocator> const&,int)",引自:       imall.cpp.o中的learn_codebook(std :: __ 1 :: basic_string,std :: __ 1 :: allocator>)       imall.cpp.o中的编码(std :: __ 1 :: basic_string,std :: __ 1 :: allocator>)   " cv :: Exception :: Exception(int,std :: __ 1 :: basic_string,std :: __ 1 :: allocator> const&,std :: __ 1 :: basic_string,std :: __ 1 :: allocator&gt ; const&,std :: __ 1 :: basic_string,std :: __ 1 :: allocator> const&,int)",引自:       CV :: FileStorage&安培; imall.cpp.o中的cv :: operator<<(cv :: FileStorage&,int const&)       CV :: FileStorage&安培; imall.cpp.o中的cv :: operator<<(cv :: FileStorage&,float const&)       CV :: FileStorage&安培; CV ::运营商LT;< imall.cpp.o中的>(cv :: FileStorage&,cv :: Mat_ const&)       CV :: FileStorage&安培; CV ::运营商LT;< imall.cpp.o中的>(cv :: FileStorage&,cv :: Mat_ const&)   " cv :: operator<<(cv :: FileStorage&,std :: __ 1 :: basic_string,std :: __ 1 :: allocator> const&)",引自:       imall.cpp.o中的cv :: operator<<(cv :: FileStorage&,char const *) ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我不确定如何修复它。感谢。

1 个答案:

答案 0 :(得分:0)

今天我从Homebrew构建的支持CUDA的OpenCV出现了非常类似的错误。显然,如果启用CUDA,而不是现在默认的clac ++ libc,则Homebrew公式将根据libstdc ++构建。因此,您必须使用“-stdlib = libstdc ++”构建程序以避免所有这些错误。