gpt4 book ai didi

c++ - g++ ld : symbol(s) not found for architecture x86_64

转载 作者:IT老高 更新时间:2023-10-28 12:34:48 28 4
gpt4 key购买 nike

我正在尝试编译 Sam Hare 的 Struck code .

我正在使用 mac OSX10.9、opencv 2.4.6 和 Eigen 2.0.17。

Eigen 和 opencv header 存储在/opt/local/include 中,而 opencv dylib 存储在/opt/local/lib 中。

我修改了 Hare 的 Makefile 来处理这个文件夹。当我在终端上输入 make 时:

g++ -L/opt/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc src/Config.o src/Features.o src/HaarFeature.o src/HaarFeatures.o src/HistogramFeatures.o src/ImageRep.o src/LaRank.o src/MultiFeatures.o src/RawFeatures.o src/Sampler.o src/Tracker.o src/main.o src/GraphUtils/GraphUtils.o -o struck

我收到以下错误:

Undefined symbols for architecture x86_64:  
"cv::namedWindow(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
int)", referenced from:
_main in main.o "cv::split(cv::Mat const&, std::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >&)",
referenced from:
ImageRep::ImageRep(cv::Mat const&, bool, bool, bool) in ImageRep.o "cv::imread(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
int)", referenced from:
_main in main.o "cv::imshow(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&,
cv::_InputArray const&)", referenced from:
LaRank::Debug() in LaRank.o
Tracker::Debug() in Tracker.o
_main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see
invocation)

有什么想法吗?谢谢!

最佳答案

当我只是尝试从两个不同的目标文件(main.o 和 add.o)创建可执行文件时,我遇到了类似的警告/错误/失败。我正在使用命令:

gcc -o exec main.o add.o

但我的程序是 C++ 程序。使用 g++ 编译器解决了我的问题:

g++ -o exec main.o add.o

我一直认为 gcc 可以自己解决这些问题。显然不是。我希望这可以帮助其他人搜索此错误。

关于c++ - g++ ld : symbol(s) not found for architecture x86_64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19821041/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com