0

我在winXP上工作,并使用gcc4.7。

我建立了 OpenCV 2.4.2 静态库,它们有liblibjpeg.a liblibpng.a liblibtiff.a libzlib.a和其他.a文件。

libwxjpeg.a libwxpng.a libwxtiff.a libwxzlib.a然后我在shared和get等.a/.dll文件上构建了wxwidgets294 。

因此,当我在 wxwidgets 上使用 OpenCV 时,它们会发生冲突。当我链接-lopencv_highgui -lopencv_imgproc -lopencv_core -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxmsw29udwxwidget 可以工作,但 OpenCV 不能,就像imread会失败(它得到空垫)。当我链接-lopencv_highgui -lopencv_imgproc -lopencv_core -llibjasper -llibtiff -llibjpeg -llibpng -lwxmsw29ud -lzlibwxwidgets 无法工作时,它会在运行后立即退出。

有想法该怎么解决这个吗?

4

1 回答 1

0

你没有解释为什么它不能工作(你的意思是“退出”是“崩溃”吗?如果是这样,你试过调试它吗?)但总的来说,最好的方法是将你多次使用的所有库链接为共享库,并且没有静态库的多个(可能是不同的)副本。

至少 wxWidgets 可以配置为使用系统上已经存在的共享库(如果已安装)。你可能没有它们,这就是为什么它依赖于编译 wx 本身包含的版本。

于 2012-09-10T13:18:00.107 回答