I downloaded the windows binary package and the source package for all platforms.
I ran the self-extracting archive under windows. For the source, I built under Linux and did make install
.
Now when I diff the two opencv2
directories, I see many differences:
diff -ur /usr/local/include/opencv2/videoio.hpp cpp-source/opencv2/videoio.hpp
--- /usr/local/include/opencv2/videoio.hpp 2015-06-03 13:21:34.000000000 -0400
+++ cpp-source/opencv2/videoio.hpp 2015-03-25 14:04:29.490676900 -0400
@@ -50,7 +50,6 @@
@{
@defgroup videoio_c C API
@defgroup videoio_ios iOS glue
- @defgroup videoio_winrt WinRT glue
@}
*/
@@ -81,16 +80,14 @@
CAP_PVAPI = 800, // PvAPI, Prosilica GigE SDK
CAP_OPENNI = 900, // OpenNI (for Kinect)
CAP_OPENNI_ASUS = 910, // OpenNI (for Asus Xtion)
- CAP_ANDROID = 1000, // Android - not used
+ CAP_ANDROID = 1000, // Android
CAP_XIAPI = 1100, // XIMEA Camera API
CAP_AVFOUNDATION = 1200, // AVFoundation framework for iOS (OS X Lion will have the same API)
CAP_GIGANETIX = 1300, // Smartek Giganetix GigEVisionSDK
CAP_MSMF = 1400, // Microsoft Media Foundation (via videoInput)
- CAP_WINRT = 1410, // Microsoft Windows Runtime using Media Foundation
I haven't confirmed, but I think that misusing the Windows headers on Linux might cause link errors in my program. So I'm wondering:
- What is the reason for the difference?
- Is it safe to use the "all platforms" headers on Windows?