近来配置在QtCreator中配置opencv,但是当点击qtCreator中的运行按钮时,程序成功启动后立刻退出,退出代码0,没有报任何错误,说明连接lib库正常,但是直接退出让我百思不得其解,无奈直接点击生成的exe文件,这时系统才报错说缺少opencv_calib248.dll。原来在pro文件中连接静态库还不行,网上说还得把dll的路径加到Path中。我直接把Pro中的静态库的路径直接换成了dll的路径,也没有错,这样好像没有连接静态库,这样就比较纠结了,,不知道静态库到底有什么用?连接静态库还得调用dll,那不连接也可以成功,为什么还要静态库?希望广大网友解答。
下面贴出pro文件的代码。OPNCV248是我定义的系统环境变量,指向opencv2.4.8的生成的库文件的路径,该路径下有4个文件夹,我从opencv的build目录中复制过来的,分别是include,bin,lib,staticlib,编译器是msvc10。我当时换成msvc的编译器的原因就是会生成静态库,以为不用连接dll也可以运行,现在发现不是这么回事。
INCLUDEPATH +=$(OPENCV248)\include
LIBS +=-L$(OPENCV248)\bin
CONFIG(release,debug|release){
LIBS += -lopencv_calib3d248 \
-lopencv_core248 \
-lopencv_contrib248 \
-lopencv_features2d248 \
-lopencv_flann248 \
-lopencv_gpu248 \
-lopencv_highgui248 \
-lopencv_imgproc2