gpt4 book ai didi

c++ - OpenCV cvSmooth 链接器错误

转载 作者:行者123 更新时间:2023-11-28 08:13:39 25 4
gpt4 key购买 nike

我正在使用 XCode 4 进行开发,我链接了 OpenCV 库来创建一些实验项目。

如果在尝试编译这些行时发现问题:

int main (int argc, const char * argv[])
{
IplImage* img = cvLoadImage( argv[1]);
cvNamedWindow( "Example3-in" );
cvNamedWindow( "Example3-out" );

// Show the original image
cvShowImage("Example3-in", img);

// Create an image for the output
IplImage* out = cvCreateImage( cvGetSize(img), IPL_DEPTH_8U, 3 );

// Perform a Gaussian blur
cvSmooth( img, out, CV_GAUSSIAN, 11, 11 );

// Show the processed image
cvShowImage("Example3-out", out);

cvWaitKey(0);
cvReleaseImage( &img );
cvReleaseImage( &out );
cvDestroyWindow( "Example3-in" );
cvDestroyWindow( "Example3-out" );
return 0;
}

问题:

Undefined symbols for architecture x86_64:
"_cvSmooth", referenced from:
_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)

在我看来,库不是为 64 位架构编译的...

注意:

通过 MacPorts 安装的库

最佳答案

我系统上安装的是x86_64。我下载了源代码并自己编译了它们。

我打算提出另一种选择:强制 XCode 构建 i386 但它似乎是 it's not possible .

但是,您可以通过命令行强制编译为 i386:

g++ main.cpp -o app `pkg-config --cflags --libs opencv` -m32 -arch i386

请记住,您的应用程序链接到的所有库都需要具有相同的架构。

关于c++ - OpenCV cvSmooth 链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8364534/

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