cannot setup Opencv 2.4.6 , opencv_core231d.lib Not Found Error - opencv

Hello everyone;
i had opencv 2.2 on my vs2010, and i wanted to update so i went to opencv site and:
i've downloaded OpenCV for Windows (ver 2.4.6)
i've extracted it to c:\opencv2.4
i've set the Environment Variable as doc said here: http://docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windowssetpathandenviromentvariable
( i didnt know what is "PATH EDITOR" so i've just changed Environment variables)
i made property sprite sheets as opencv doc said here: http://docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html#windows-visual-studio-how-to
5.but Doc Was Old, and there was no "include" folder in OpenCV2.4/opencv/build/x64/vc10 so I did set include Directory to OpenCV2.4/opencv/build/include in My property sprite sheet.
everything seems true and VS detect include libraries But
VS2010 throw following error when i want to Build the solution:
1>LINK : fatal error LNK1104: cannot open file 'opencv_core231d.lib'
Strange thing is there is no "opencv_core231d.lib" File in c:\opencv2.4 at all!!!
:(
what is the problem?

This is a Linker error, so make sure you are trying to link the correct libraries.
I would suggest to use CMake, which definitely simplifies configuring projects, specially those having dependencies like OpenCV (you can take a look to the OpenCV documentation, or any blog explaining the steps: http://marcosnietoblog.wordpress.com/2011/11/19/opencv-for-windows-easy-installation-using-cmake/ )
By the way, I use to have several versions of opencv on the same folder:
C:\OpenCV\opencv2.4.3
C:\OpenCV\opencv2.4.6
...
So I can easily switch within CMake setting the OpenCV_DIR.

opencv_core231d.lib is a debug version, all the *d.lib and *d.dll files in openCV are with debug symbols.
It is likely that the pre-built release you downloaded doesn't contain debug ones.
either download te source and build both debug and release. Or, if you don't care how opencv works internally, just change the linker flags to use the same lib names with the d
edit. or of course if you donwloaded opencv 2.4.6 the file would be opencv_core246d.lib

Related

Cannot compile OpenCV for iOS with nonfree module

I'm attempting to compile the OpenCV framework for iOS using the nonfree module. Right now, I'm not able to compile the OpenCV framework, period. I would use the stock iOS opencv2.framework download from the website, except it doesn't include the nonfree module that I need for my project. I've been following the instructions as prescribed here:
http://answers.opencv.org/question/61663/how-to-make-opencv2framework-with-opencv_contrib/
as these appear they might be out of date
http://docs.opencv.org/2.4/doc/tutorials/introduction/ios_install/ios_install.html
https://github.com/Itseez/opencv/issues/4712
However, when I run the command from a folder outside the building directories "python opencv-master/platforms/ios/build_framework.py --contrib opencv_contrib-master ios_contrib" it spits out the following error:
http://pastebin.com/LUep8Tdw
The error doesn't mean much to me. I thought at first it was related to me building it inside the same directory as opencv, but I tried it outside of it and it still failed. Any thoughts? I've tried everything I can possibly think of, and done a bunch of research without coming up with anything.
It appears there's some issue with one of the modules in opencv_contrib. I'm not sure what it is, but I was using version 3.0.0-rc-1. The way I got around it was by moving specific modules from the module folder in the contrib folder into the regular opencv directory's modules folder and then compiling the framework from scratch.

Linking Header File with Main.Cpp file in Codeblocks

I am trying to use codeblocks to compile the code available here
The thing is every time I try to build and run, I run into the following error:
|/.../head_pose_estimation/opencv2/core/core.hpp|48|fatal error: opencv2/core.hpp: No such file or directory
Does anyone know how I can fix this? Thank you!
You do not have the pre-built (compiled) version of OpenCV, what you currently have are the source files. If you want to do something special with OpenCV (Target/GPU SUpport etc) then you will need to build the framework using an appropriate guide.
If however you simply want to use OpenCV in the most common way then download the pre-built libraries from the OpenCV.org website.
NOTE:
If you are using OpenCV with MinGW compiler, I do not remember if the pre-built is actually pre-built for MinGW. (I dont think they do) In this case you will HAVE to built the libraries. You can find a guide here

Configure OpenCV on Codeblocks

I would like to use OpenCV with CodeBlocks. But I don't know to configure CodeBlocks about "Project build options". I need to precise where are the headers, and functions of openCV.
Firstly I've tried to follow this tutorial : http://kevinhughes.ca/tutorials/opencv-install-on-windows-with-codeblocks-and-mingw/ But I had some problems in the step 4 with the configuration of makefiles. In fact, I am not very sure that I need to use cmake in order to read opencv functions.
Could you help me to configure build options ? I think I need to add "C:\opencv\build\include" about compiler on Search Directories, and about linker, what should I add ?
How add the librairy on CodeBlocks ?
Thank you
In fact CMakeLists.txt is present here : ..\opencv\sources\CMakeLists.txt
I thought CMake would have searched. Then, I use correctly Cmake and he has builded OpenCV. I don't use cygwin, I use the shell of windows. So, after that, I've tried to build the exemple of opencv code in this tutorial, and it works !
Now, when I try to build a project already coded, I don't succeed. In fact, it's a code made by an other person, it use OpenCV and C++. And there is also Java code for Android. But I would like to build and execute only C++ code.
I chose the same settings for OpenCV, but how could I know what I should add in "compiler" and "linker" section ?
Thank you for your help.
Try to change your source directory to C:\opencv\sources and see if that works.

OpenCV2.4.3 Program Can't start because libgcc_s_dw2-1.dll missing

Since last month I was working with OpenCV2.2(pre-built) using c functions only in code::blocks. But I need to shift to c++ API. But when I run the c++ code I am getting error like "undefined reference to c++ function". I just search in internet and found that I need to build from source. So I just moved to OpenCV2.4.3. These are my setting what I do with OpenCV2.4.3 for configuring project in code::blocks.
Extract OpenCV2.4.3 to E:\opencv
Add the line "E:\opencv\build\x86\mingw\bin" to path.
And in code::blocks set up the project like
-> Compiler and debugger setting->search directories add "E:\opencv\build\include"
-> In linker tab add "E:\opencv\build\x86\mingw\bin"
-> In limker setting tab add "E:\opencv\build\x86\mingw\lib"
And I build my project successfully but while I am running my project I am getting the error like "Program Can't start because libgcc_s_dw2-1.dll missing from your computer".
I am using code::blocks with MingGW compiler.
My questions are
1. Why I can't run c++ code using OpenCV2.2 while c code is successfully build and ran. Is it the pre-built library problem. If so where can I download OpenCV pre-built library which support both c and c++ code.
2. Why the MingGW compiler showing the error like "libgcc_s_dw2-1.dll missing "for OpenCV2.4.3 where as OpenCV2.2 successfully build and ran using the same MingGW compiler.
Any help will appreciated.
Thanks in advance..........
I had the same problem when I switched from OpenCV 2.0 to OpenCV 2.4.3. So I will suggest the following.
Uninstall both CodeBlocks and Opencv 2.4.3
Reinstall both and integrate them using the same steps you followed earlier.
Let us know if this works.

OpenCV 2.4.4 and Tesseract 3.02.02 Don't link together

I'm using iOS 6.1 and XCode 4.6
I have a problem, OpenCV needs to be compiled with libc++ (LLVM C++ 11), while Tesseract 3.02.03 needs to be compiled with "default compiler".
How can I overcome this problem. at this point I can compile and link only If I comment out OpenCV code or comment out OCR code. cannot make them both work together.
Any ideas??
I am by no means an expert with C++ but I had the same problem and by some trial and error and lots of internet searching I think I managed to solve it.
As I understand it, the problem is that opencv and tesseract are built with different standard libraries. The latest opencv is built with libc++ while tesseract is built with stdlibc++
The solution is to rebuild one of them so they both use the same standard library. I decided to recompile tesseract and followed the instructions found here which references a build script that is used to build the library.
I modified this script (again, by trial an error, not really sure this is the best way) to used the clang++ compiler (CXX="/usr/bin/clang++") and use libc++ (CXXFLAGS="$CFLAGS -stdlib=libc++") and it compiles (albiet with some warnings). You may also need to copy some headers as the script doesn't seem to copy them all.
Then just use this library instead of the downloaded one in your iOS project (remember to change back to libc++ in build settings) and everything will compile and link just fine.
So far it seems to work properly in runtime.

Resources