I've tried to compile your library (3.5.52.900) with Visual Studio 2017 and found some issues:
the Test project contains OpenCV dependencies for x64. Not sure if it's possible to test SIMD without OpenCV thought.
there is quite a lot of warnings like: warning C4752: found Intel(R) Advanced Vector Extensions; consider using /arch:AVX. I guess it's not a big deal and you can safely inhibit them.
There is suspicious warning: simd\simdavx2texture.cpp(209): warning C4789: buffer '' of size 8 bytes will be overrun; 32 bytes will be written starting at offset 0
In the following code:
__m256i tailMask = src == dst ? SetMask<uint8_t>(0, A - width + alignedWidth, 0xFF) : K_INV_ZERO;
I quickly checked SetMask – looks no problem there, may be compiler didn’t catch something?! Again, might be interesting to inhibit such warning.
4. simdimagematcher.hpp(200): warning C4018: '<': signed/unsigned mismatch:
for (int fast_y = 0; fast_y < fast; ++fast_y)
for (int fast_x = 0; fast_x < fast; ++fast_x)
fast is size_t
Thanks again for a excellent library!
Nikolai
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1) To solve the problem delete file Ocv.props (I forgot to do it).
2)-3) - I can't check because I still use Visual Studio 2015. I will check them later.
4) I will fix these warnings.
Thanks for bug report!
Ihar.
Last edit: Yermalayeu Ihar 2017-04-03
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
the intermediate folder in project is poiting to $(SolutionDir)....\obj\$(PlatformToolset)\$(PlatformName)\$(Configuration)\$(ProjectName)\
(note - we go up 2 times)
but the log file is set as:
$(SolutionDir)......\obj\$(PlatformToolset)\$(PlatformName)\$(Configuration)\$(ProjectName)\Build.log
(note 3 time goes up)
As a result above of SIMD folder an obj folder is created with log files.
Was it intention or it's refactoring artefacts?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is an error in previous versions of Visual Studio (as I know all until VS 2015): debug log is stored in wrong directory (different path relative to other temporary files). In order to fix this problem I set special path for debug log (see Prop.props file).
In VS 2017 this bug was fixed and my workaround was broken.
Nevertheless I will fix this bug in the next release.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Ihar,
I've tried to compile your library (3.5.52.900) with Visual Studio 2017 and found some issues:
In the following code:
__m256i tailMask = src == dst ? SetMask<uint8_t>(0, A - width + alignedWidth, 0xFF) : K_INV_ZERO;
I quickly checked SetMask – looks no problem there, may be compiler didn’t catch something?! Again, might be interesting to inhibit such warning.
4. simdimagematcher.hpp(200): warning C4018: '<': signed/unsigned mismatch:
for (int fast_y = 0; fast_y < fast; ++fast_y)
for (int fast_x = 0; fast_x < fast; ++fast_x)
fast is size_t
Thanks again for a excellent library!
Nikolai
Hello, Nikolai.
1) To solve the problem delete file Ocv.props (I forgot to do it).
2)-3) - I can't check because I still use Visual Studio 2015. I will check them later.
4) I will fix these warnings.
Thanks for bug report!
Ihar.
Last edit: Yermalayeu Ihar 2017-04-03
thanks Ihar,
another issue:
the intermediate folder in project is poiting to $(SolutionDir)....\obj\$(PlatformToolset)\$(PlatformName)\$(Configuration)\$(ProjectName)\ (note - we go up 2 times)
but the log file is set as:
$(SolutionDir)......\obj\$(PlatformToolset)\$(PlatformName)\$(Configuration)\$(ProjectName)\Build.log
(note 3 time goes up)
As a result above of SIMD folder an obj folder is created with log files.
Was it intention or it's refactoring artefacts?
(obvisouly parser has eaten my path :-)
\ .. \ .. \ obj vs \ .. \ .. \ .. \ obj
There is an error in previous versions of Visual Studio (as I know all until VS 2015): debug log is stored in wrong directory (different path relative to other temporary files). In order to fix this problem I set special path for debug log (see Prop.props file).
In VS 2017 this bug was fixed and my workaround was broken.
Nevertheless I will fix this bug in the next release.
Thank you again for bug report. I have fixed all of found errors.