codeblocks+opencv2.3.1+cmake 静态链接出问题
opencv吧
全部回复
仅看楼主
level 1
lfjking2 楼主
百度有一大堆教程 跳过环境设置
因为我要生成静态的链接库(.a)
所以我取消了BUILD_SHARED_LIBS,
BUILD_TESTS,
BUILD_NEW_PYTHON_SUPPORT,
用 mingw32 编译 ,一切顺利
但是 当创建工程引用,编译工程时就跳出一大堆 未定义的错误
一个简单控制台 的测试工程 显示一张图片
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
IplImage* pImg;
pImg = cvLoadImage("bg_main.jpg");
cvNamedWindow( "Image", 1 );
cvShowImage( "Image", pImg );
cvWaitKey(0);
cvDestroyWindow( "Image" );
cvReleaseImage( &pImg );
return 0;
}
帮忙看下 Cmake 设置是否有问题
2017年01月19日 00点01分 1
level 1
lfjking2 楼主
2017年01月19日 00点01分 2
Configure 后 BUILD_WITH_STATIC_CRT 红色 警告 这个要怎么才能让它正常回来
2017年01月19日 00点01分
cmake 版本3.7.2
2017年01月19日 00点01分
autoconfig ,cmake太复杂
2017年01月23日 16点01分
@午癸 谢谢 我 回头 试试看
2017年02月04日 04点02分
level 1
lfjking2 楼主
错误信息 (好多啊 ,都是 未定义的。。。。。)
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(window_w32.obj): In function `cvInitSystem':
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:218: undefined reference to `GetStockObject@4'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:224: undefined reference to `GetStockObject@4'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(window_w32.obj): In function `cvNamedWindow':
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:521: undefined reference to `CreateCompatibleDC@4'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(window_w32.obj): In function `icvRemoveWindow':
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:578: undefined reference to `SelectObject@8'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:578: undefined reference to `DeleteObject@4'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:581: undefined reference to `DeleteDC@4'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(window_w32.obj): In function `icvGetBitmapData':
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:664: undefined reference to `GdiFlush@0'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:665: undefined reference to `GetCurrentObject@8'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:673: undefined reference to `GetObjectA@12'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(window_w32.obj): In function `cvShowImage':
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:772: undefined reference to `SelectObject@8'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:772: undefined reference to `DeleteObject@4'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:782: undefined reference to `CreateDIBSection@24'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:782: undefined reference to `SelectObject@8'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(window_w32.obj): In function `MainWindowProc':
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:940: undefined reference to `CreateRectRgn@16'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:941: undefined reference to `CreateRectRgn@16'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:942: undefined reference to `CreateRectRgn@16'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:943: undefined reference to `CombineRgn@16'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:944: undefined reference to `CombineRgn@16'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:947: undefined reference to `FillRgn@12'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:949: undefined reference to `DeleteObject@4'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:950: undefined reference to `DeleteObject@4'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:951: undefined reference to `DeleteObject@4'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(window_w32.obj): In function `HighGUIProc':
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:1044: undefined reference to `SetStretchBltMode@8'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:1055: undefined reference to `SetDIBColorTable@16'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:1060: undefined reference to `BitBlt@36'
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:1067: undefined reference to `StretchBlt@44'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(window_w32.obj): In function `icvCreateTrackbar':
.../OpenCV/opencv/modules/highgui/src/window_w32.cpp:1383: undefined reference to `CreateToolbarEx@52'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(grfmt_png.obj): In function `ZN2cv10PngDecoder5closeEv':
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:102: undefined reference to `png_destroy_read_struct'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(grfmt_png.obj): In function `ZN2cv10PngDecoder15readDataFromBufEPvPhj':
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:111: undefined reference to `png_get_io_ptr'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:116: undefined reference to `png_error'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(grfmt_png.obj): In function `ZN2cv10PngDecoder10readHeaderEv':
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:128: undefined reference to `png_create_read_struct'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:132: undefined reference to `png_create_info_struct'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:133: undefined reference to `png_create_info_struct'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:142: undefined reference to `png_set_longjmp_fn'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:145: undefined reference to `png_set_read_fn'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:150: undefined reference to `png_init_io'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:158: undefined reference to `png_read_info'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:161: undefined reference to `png_get_IHDR'
...\OpenCV\opencv_mingw\Debug\install\lib\libopencv_highgui231d.a(grfmt_png.obj): In function `ZN2cv10PngDecoder8readDataERNS_3MatE':
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:213: undefined reference to `png_set_longjmp_fn'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:218: undefined reference to `png_set_strip_16'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:220: undefined reference to `png_set_swap'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:232: undefined reference to `png_set_strip_alpha'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:236: undefined reference to `png_set_palette_to_rgb'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:240: undefined reference to `png_set_expand_gray_1_2_4_to_8'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:246: undefined reference to `png_set_bgr'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:248: undefined reference to `png_set_gray_to_rgb'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:250: undefined reference to `png_set_rgb_to_gray'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:252: undefined reference to `png_read_update_info'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:257: undefined reference to `png_read_image'
.../OpenCV/opencv/modules/highgui/src/grfmt_png.cpp:258: undefined reference to `png_read_end'
Process terminated with status 1 (0 minute(s), 2 second(s))
50 error(s), 0 warning(s) (0 minute(s), 2 second(s))
2017年01月19日 01点01分 3
level 1
给你顶顶
2017年01月23日 03点01分 4
1