Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

To build a project, even small one, you need a build system. VS Projects is the one of many possible build systems, and not the best one.

CMake allows you to create a build system for compilers and tools, existing on your computer.

You have VS installed, but someone doesn't, but instead of VS, he has QT Creator, or Eclipse, or Netbeans. Visual studio implies using Microsoft's or Intel's compilers, which generally cost a lot. What about free MinGW GCC?

Moreover, Visual Studio runs in Windows only, and that Windows should better not run on virtual machine. What about Linux, MacOS, other unixes? Android? All of them don't have Visual Studio and hardly ever will.

CMake allows all of them build OpenCV also.

To build a project, even small one, you need a build system. VS Projects is the one of many possible existing build systems, systems, and not the best one.

CMake allows you to create a build system for compilers and tools, existing on your computer.

You have VS installed, but someone doesn't, but instead of VS, he has QT Creator, or Eclipse, or Netbeans. Visual studio implies using Microsoft's or Intel's compilers, which generally cost a lot. What about free MinGW GCC?

Moreover, Visual Studio runs in Windows only, and that Windows should better not run on virtual machine. What about Linux, MacOS, other unixes? Android? All of them don't have Visual Studio and hardly ever will.

CMake allows all of them build OpenCV also.

To build a project, even small one, you need a build system. VS Projects Projects, or MSBuild, is one of many existing build systems, and not the best one.

CMake allows you to create a build system settings for compilers and tools, existing on your computer.

You have VS installed, but someone doesn't, but instead of VS, he has QT Creator, or Eclipse, or Netbeans. Visual studio implies using Microsoft's or Intel's compilers, which generally cost a lot. What about free MinGW GCC?

Moreover, Visual Studio runs in Windows only, and that Windows should better not run on virtual machine. What about Linux, MacOS, other unixes? Android? All of them don't have Visual Studio and hardly ever will.

CMake allows all of them build OpenCV also.

To build a project, even small one, you need a build system. VS Projects, or MSBuild, is one of many existing build systems, and not the best one.

CMake allows you to create a build system settings for compilers and tools, existing on your computer.

You have VS installed, but someone doesn't, but instead of VS, he has QT Creator, or Eclipse, or Netbeans. Visual studio implies using Microsoft's or Intel's compilers, which generally cost a lot. What about free MinGW GCC?

Moreover, Visual Studio runs in Windows only, and that Windows should better not run on virtual machine. What about Linux, MacOS, other unixes? Android? All of them don't have the Visual Studio and hardly ever will.

CMake allows all of them build OpenCV also.

To build a project, even small one, you need a build system. VS Projects, or MSBuild, is one of many existing build systems, and not the best one.

CMake allows you to create a build system settings for compilers and tools, existing on your computer.

You have VS installed, but someone doesn't, but instead of VS, he has QT Creator, or Eclipse, or Netbeans. Visual studio implies using Microsoft's or Intel's compilers, which generally cost a lot. What about free MinGW GCC?GCC? Visual Studio doesn't work with it.

Moreover, Visual Studio runs in is limited to Windows only, and that Windows should better not run on virtual machine. What about Linux, MacOS, other unixes? Android? All of them don't have the Visual Studio and hardly ever will.

CMake allows all of them build OpenCV also.

To build a project, even small one, you need a build system. VS Projects, or MSBuild, is one of many existing build systems, and not the best one.

CMake allows you to create a build system settings for compilers and tools, existing on your computer.

You have VS installed, but someone doesn't, but instead of VS, he has QT Creator, or Eclipse, or Netbeans. Visual studio implies using Microsoft's or Intel's compilers, which generally cost a lot. What about free MinGW GCC? Visual Studio doesn't work with it.

Moreover, Visual Studio is limited to Windows only, and that Windows should better not run on virtual machine. What about Linux, MacOS, other unixes? Android? All of them don't have the Visual Studio and hardly ever will.

CMake allows all of them build OpenCV also.

And even with the single Visual Studio, the build can be customized, since OpenCV may or may not use some external libraries (Eigen, QT, and some others). Someone would need them, and someone not, installation directories differ also. Such customization would be hard, if even possible, in case of project files manually created with Visual Studio wizards.

To build a project, even small one, you need a build system. VS Projects, or MSBuild, is one of many existing build systems, and not the best one.

CMake allows you to create a build system settings for compilers and tools, existing on your computer.

You have VS installed, but someone doesn't, but instead of VS, he has QT Creator, or Eclipse, or Netbeans. Visual studio implies using Microsoft's or Intel's compilers, which generally cost a lot. What about free MinGW GCC? Visual Studio doesn't work with it.

Moreover, Visual Studio is limited to Windows only, and that Windows should better not run on virtual machine. What about Linux, MacOS, other unixes? Android? All of them don't have the Visual Studio and hardly ever will.

CMake allows all of them build OpenCV also.

And even with the single Visual Studio, the build can be customized, since OpenCV may or may not use some external libraries (Eigen, QT, and some others). others), depending on user needs. Someone would need them, and someone not, installation not. Installation directories differ also. Therefore, we would need to customize what to build, what to link, and where those libraries are.

Such customization would be hard, if even possible, in case of project files manually created with Visual Studio wizards.