㈠ Cmake和VS分别是用来干什么的
cmakevsqmakeqmake是为Qt量身打造的,使用起来非常方便cmake使用上不如qmake简单直接,但复杂换来的是强大的功能内置的out-ofsource构建。(目前QtCreator为qmake也默认启用了该功能,称:shadowbuild)为各种平台和场景提供条件编译可处理多个可执行文件情况,和很好配合QtTest工作如何选择?UsingCMaketoBuildQtProjects一文中说:对简单的Qt工程,采用qmake对复杂度超过qmake处理能力的,采用cmake尽管如此,如果简单Qt的工程都不知道怎么用cmake构建,复杂的工程,就更不知道如何使用cmake了。还是从简单的学起吧简单的Qt程序#include#includeintmain(intargc,char**argv){QCoreApplicationapp(argc,argv);qDebug()-Ocoff-i-o")endif(MINGW)SET(example_SRCSmain.cppmainwindow.cppwidget.cppres/main.rc)SET(example_MOC_SRCSmainwindow.hwidget.h)QT4_WRAP_CPP(example_MOCS${example_MOC_SRCS})QT4_ADD_RESOURCES(example_RCC_SRCSmain.qrc)SET(example_SRCS${example_SRCS}${example_MOCS}${example_RCC_SRCS})ADD_EXECUTABLE(exampleWIN32main.cppmainwindow.cpp${example_SRCS})TARGET_LINK_LIBRARIES(example${QT_LIBRARIES})对Qt的资源文件,使用QT4_ADD_RESOURCES来调用rcc进行预处理对Windows资源文件,直接和源文件一样,添加到列表中即可。只是:MinGW下仅仅这么做还不行,上面的MinGW块用来修复这个问题Debug与Releaseqmake使用qmake时,可以在pro文件内分别为两种模式设置不同的选项。使用时,可以直接makerelease或makedebug来编译不同的版本cmake不同于qmake,由于cmake采用out-of-source方式。故:建立debugrelease两目录,分别在其中执行cmake-DCMAKE_BUILD_TYPE=Debug(或Release)需要编译不同版本时进入不同目录执行make对生成msvc工程的情况,CMAKE_BUILD_TYPE不起作用。生成工程后使用IDE自带的模式选择。
㈡ CMake,configue出错,以下是错误信息。怎么弄 vs2010的。
CMake,configue出错,弹出框“Error in configuration process,project files may be invalid”是设置错误造成的,解决方法如下:
1、首先编写如下所示的main.cpp。
㈢ 为什么要使用cmake+VS重新编译的opencv库
使用opencv需要编译源码,得到库文件。可以用cmake构建项目后编译,也可以直接用官方提供的编译好的版本。
官方提供的编译库一般只是标准版本,可能与某些库并不兼容,比如官方提供的编译好的版本与opengl就不兼容,这时就只能自己构建项目后编译。
在用cmake生成工程文件的时候,设置当中有WITH_OPENGL,WITH_QT等选项,你想支持哪个库只需要选择即可。
当然,一般使用的话,用官方提供的库即可。OpenCV2.3.1版本就提供编译好的库,可以直接设置使用