我在winXP上工作,并使用gcc4.7。
我构建了OpenCV 2.4.2静态库,它们有liblibjpeg.a
liblibpng.a
liblibtiff.a
libzlib.a
和其他.a
文件。
然后我在共享上构建了wxwidgets294并获取libwxjpeg.a
libwxpng.a
libwxtiff.a
libwxzlib.a
和其他.a
/ .dll
文件。
因此,当我在wxwidgets上使用OpenCV时,它们会发生冲突。当我链接-lopencv_highgui -lopencv_imgproc -lopencv_core -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxmsw29ud
时wxwidget可以工作,但是OpenCV不能,就像imread
会失败(它变空了)。当我链接-lopencv_highgui -lopencv_imgproc -lopencv_core -llibjasper -llibtiff -llibjpeg -llibpng -lwxmsw29ud -lzlib
时,wxwidgets无法正常工作,它会在运行后立即退出。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
你没有解释为什么它不起作用(你的意思是“退出”是“崩溃”吗?如果是这样,你试过调试吗?)但一般来说最好是链接你使用的所有库而不是一次作为共享库,并没有多个(也许是不同的)静态副本。
至少可以将wxWidgets配置为使用系统上已存在的共享库(如果已安装)。你可能没有它们,这就是为什么它会依赖于编译wx本身包含的版本。