how to use CascadeClassifier in VS 2010 OpenCV - c++

I have a project, what loads pics, etc. I want to make object detection. I've got an xml from haartrain. The following code however won't compile:
String berniurl= "D:\Dropbox\Egyetem\tanulmany2\kutyafelek\berni.xml";
CascadeClassifier berni_cascade;
if( !berni_cascade.load( berniurl ) ){
printf("--(!)Error loading\n");
};
VS2010, OpenCV2.2 (downloaded from site already built).
and errors are in main.obj, like:
Error 7 error LNK2019: unresolved external symbol "public: __thiscall cv::CascadeClassifier::~CascadeClassifier(void)" (??1CascadeClassifier#cv##QAE#XZ) referenced in function _main C:\Users\Gabor\Documents\Visual Studio 2010\Projects\opencvcucc\opencvcucc\main.obj
Error 8 error LNK2019: unresolved external symbol "public: bool __thiscall cv::CascadeClassifier::load(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?load#CascadeClassifier#cv##QAE_NABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###Z) referenced in function _main C:\Users\Gabor\Documents\Visual Studio 2010\Projects\opencvcucc\opencvcucc\main.obj

As banuj said, I missed some imports. helper site: anlak.com/using-opencv-2-3-1-with-visual-studio-2010-tutorial

Related

C++, OpenCv at c++ gives error though it is build right

I am new in c++ but i need to do a project using opencv.
I have downlaoded opencv-4.5.2 and opencv_contrib and I am using Visual 2019.
I have used cmake and I got no error.
Then in the project I have included, the "C:\opencv\opencv_lib\install\include" directory fot the C++ additional include directories
For the Linker I have included ,"C:\opencv\opencv_lib\install\x64\vc16\lib" for the additional library directories.
I have included, "opencv_core452.lib,opencv_highgui452.lib,opencv_imgcodecs452.lib", int he additional dependacies.
I have included, "C:...opencv\build\x64\vc14\bin" for the path.
When i run a simple project it seems that something goes wrong and I am not sure what it is.
Here are the errors:
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol "public: class cv::Mat & __thiscall cv::Mat::operator=(class cv::Mat &&)" (??4Mat#cv##QAEAAV01#$$QAV01##Z) referenced in function _main protorype C:...\protorype.obj 1
Error LNK2019 unresolved external symbol "public: __thiscall cv::Mat::Mat(void)" (??0Mat#cv##QAE#XZ) referenced in function _main protorype C:...\protorype.obj 1
Error LNK2019 unresolved external symbol "public: __thiscall cv::Mat::~Mat(void)" (??1Mat#cv##QAE#XZ) referenced in function _main protorype C:...\protorype.obj 1
Error LNK2019 unresolved external symbol "class cv::Mat __cdecl cv::imread(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int)" (?imread#cv##YA?AVMat#1#ABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##H#Z) referenced in function _main protorype C:...\protorype.obj 1
Error LNK2019 unresolved external symbol "void __cdecl cv::namedWindow(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int)" (?namedWindow#cv##YAXABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##H#Z) referenced in function _main protorype C:...\protorype.obj 1
Error LNK2019 unresolved external symbol "void __cdecl cv::imshow(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class cv::debug_build_guard::_InputArray const &)" (?imshow#cv##YAXABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##ABV_InputArray#debug_build_guard#1##Z) referenced in function _main protorype C:...\protorype.obj 1
Error LNK1120 6 unresolved externals protorype C:...\protorype.exe 1
Because I am new, please explain me in simple words hwo to resolve it.
Thank you in advance!
I finally found it.
I dont know, probably eventhough I was using the right libraries and using the right directories as well, I decided to copy all the libraries into the dependacies and not just those that i use and it workes. Here are all the directories for my case, but note that if you are usign a different version probably they are different.
opencv_aruco452d.lib opencv_barcode452d.lib opencv_bgsegm452d.lib opencv_bioinspired452d.lib opencv_calib3d452d.lib opencv_ccalib452d.lib opencv_core452d.lib opencv_datasets452d.lib opencv_dnn_objdetect452d.lib opencv_dnn_superres452d.lib opencv_dnn452d.lib opencv_dpm452d.lib opencv_face452d.lib opencv_features2d452d.lib opencv_flann452d.lib opencv_fuzzy452d.lib opencv_gapi452d.lib opencv_hdf452d.lib opencv_hfs452d.lib opencv_highgui452d.lib opencv_img_hash452d.lib opencv_imgcodecs452d.lib opencv_imgproc452d.lib opencv_intensity_transform452d.lib opencv_line_descriptor452d.lib opencv_mcc452d.lib opencv_ml452d.lib opencv_objdetect452d.lib opencv_optflow452d.lib opencv_phase_unwrapping452d.lib opencv_photo452d.lib opencv_plot452d.lib opencv_quality452d.lib opencv_rapid452d.lib opencv_reg452d.lib opencv_rgbd452d.lib opencv_saliency452d.lib opencv_shape452d.lib opencv_stereo452d.lib opencv_stitching452d.lib opencv_structured_light452d.lib opencv_superres452d.lib opencv_surface_matching452d.lib opencv_text452d.lib opencv_tracking452d.lib opencv_video452d.lib opencv_videoio452d.lib opencv_videostab452d.lib opencv_wechat_qrcode452d.lib opencv_xfeatures2d452d.lib opencv_ximgproc452d.lib opencv_xobjdetect452d.lib opencv_xphoto452d.lib

Chilitags Microsoft Visual Studio Windows 64 Error

thank you in advance!
I am currently trying just to run the sample code for Chilitags a C++ library for the detection and identification of 2D fiducial markers. I am using Microsoft Visual Studio 2013 x64 on Windows, I have tried to run this code and I have gotten these errors:
Error #1:
error LNK2019: unresolved external symbol "public: void __cdecl chilitags::Chilitags::setFilter(int,float)" (?setFilter#Chilitags#chilitags##QEAAXHM#Z) referenced in function main
Error #2:
error LNK2019: unresolved external symbol "public: __cdecl chilitags::Chilitags::Chilitags(void)" (??0Chilitags#chilitags##QEAA#XZ) referenced in function main
Error #3:
error LNK2019: unresolved external symbol "public: class std::map<int,class cv::Matx<float,4,2>,struct std::less<int>,class std::allocator<struct std::pair<int const ,class cv::Matx<float,4,2> > > > __cdecl chilitags::Chilitags::find(class cv::Mat const &,enum chilitags::Chilitags::DetectionTrigger)" (?find#Chilitags#chilitags##QEAA?AV?$map#HV?$Matx#M$03$01#cv##U?$less#H#std##V?$allocator#U?$pair#$$CBHV?$Matx#M$03$01#cv###std###4##std##AEBVMat#cv##W4DetectionTrigger#12##Z) referenced in function main
Error #4:
error LNK2019: unresolved external symbol "public: __cdecl chilitags::Chilitags::~Chilitags(void)" (??1Chilitags#chilitags##QEAA#XZ) referenced in function main
Code (detect-live.cpp)
https://github.com/chili-epfl/chilitags/tree/master/samples/detection
Let me know if you need any other information to help!

Hello World example for V8 using gyp

Since SCons has been deprecated. I used the gyp to generate vs solution.
I did what they told me on the build BuildingWithGYP.
And the v8 project builded ok!
and I got the v8_base.lib but no v8.lib.
And in the hello world project ,get started.I add the lib directory into the add library.
But it linked failed:
Linking...
1>v8test.obj : error LNK2019: unresolved external symbol "public:
__thiscall v8::HandleScope::~HandleScope(void)" (??
1HandleScope#v8##QAE#XZ) referenced in function _main
1>v8test.obj : error LNK2019: unresolved external symbol "public:
__thiscall v8::String::AsciiValue::~AsciiValue(void)" (??
1AsciiValue#String#v8##QAE#XZ) referenced in function _main
1>v8test.obj : error LNK2019: unresolved external symbol "public:
__thiscall v8::String::AsciiValue::AsciiValue(class v8::Handle<class
v8::Value>)" (??0AsciiValue#String#v8##QAE#V?$Handle#VValue#v8###2##Z)
referenced in function _main
1>v8test.obj : error LNK2019: unresolved external symbol "public:
class v8::Local<class v8::Value> __thiscall v8::Script::Run(void)" (?
Run#Script#v8##QAE?AV?$Local#VValue#v8###2#XZ) referenced in function
_main
……
It seems that couldn't find the implement
but i used the dumpbin tool and find the symbol i can find them in the v8_base.lib
I am sure that the library directory is ok!
but i don't know why it couldn't find the implement.
You can add the lib "v8_base.lib" as an additional dependency to fix the problem.

Unresolved external symbols in Visual Studio 2010

I am coming from Xcode, trying to compile a project in Visual Studio 2010, and I get the following errors:
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "struct _GUID __cdecl CLEyeGetCameraUUID(int)" (?CLEyeGetCameraUUID##YA?AU_GUID##H#Z) referenced in function "public: static int __cdecl ofxCLeye::listDevices(void)" (?listDevices#ofxCLeye##SAHXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "int __cdecl CLEyeGetCameraCount(void)" (?CLEyeGetCameraCount##YAHXZ) referenced in function "public: static int __cdecl ofxCLeye::listDevices(void)" (?listDevices#ofxCLeye##SAHXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraGetFrameDimensions(void *,int &,int &)" (?CLEyeCameraGetFrameDimensions##YA_NPAXAAH1#Z) referenced in function "public: void __thiscall ofxCLeye::grabFrame(void)" (?grabFrame#ofxCLeye##QAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraGetFrame(void *,unsigned char *,int)" (?CLEyeCameraGetFrame##YA_NPAXPAEH#Z) referenced in function "public: void __thiscall ofxCLeye::grabFrame(void)" (?grabFrame#ofxCLeye##QAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeDestroyCamera(void *)" (?CLEyeDestroyCamera##YA_NPAX#Z) referenced in function "public: virtual void __thiscall ofxCLeye::close(void)" (?close#ofxCLeye##UAEXXZ)
2>ofxCLeye.obj : error LNK2019: unresolved external symbol "bool __cdecl CLEyeCameraStop(void *)" (?CLEyeCameraStop##YA_NPAX#Z) referenced in function "public: virtual void __thiscall ofxCLeye::close(void)" (?close#ofxCLeye##UAEXXZ)
... etc etc...
2>bin\clEye_debug.exe : fatal error LNK1120: 10 unresolved externals
I imagine that the compiler is trying to link CLEyeMulticam.lib but not finding it. I think that I have configured it properly.
Could you point me with the needed steps to include a library in VS2010 ?
Thank you,
marc
Apologies if this is overly pedantic. If this is a pre-built library (not built as part of the project/solution) then make sure you
a) #include the correct header
b) #define any requisite macros
c) speciy additional .lib dependencies as shown below.
You will need to specify a fully qualifed path (d:\src\project\libs\camera.lib) unless the libary file is in the LIB environment variable.
In the Property Pages for your project, navigate to Configuration > Linker > Input and add the lib file to the Additional Dependencies setting. This applies to VC++ 2008, probably likewise to 2010.

error LNK2019: unresolved external symbol "public:

I am creating an torrent application using libtorrent in VS 2008. I tried the example given in the link http://www.rasterbar.com/products/libtorrent/examples.html
BUt it is showing me these error....how to solve them?
Linking...
main.obj : error LNK2019: unresolved external symbol "public: __thiscall libtorrent::torrent_info::~torrent_info(void)" (??1torrent_info#libtorrent##QAE#XZ) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "public: __thiscall libtorrent::torrent_info::torrent_info(struct libtorrent::lazy_entry const &)" (??0torrent_info#libtorrent##QAE#ABUlazy_entry#1##Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "class std::basic_ostream > & __cdecl libtorrent::operator<<(class std::basic_ostream > &,struct libtorrent::lazy_entry const &)" (??6libtorrent##YAAAV?$basic_ostream#DU?$char_traits#D#std###std##AAV12#ABUlazy_entry#0##Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "int __cdecl libtorrent::lazy_bdecode(char const *,char const *,struct libtorrent::lazy_entry &,int)" (?lazy_bdecode#libtorrent##YAHPBD0AAUlazy_entry#1#H#Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "public: void __thiscall libtorrent::lazy_entry::clear(void)" (?clear#lazy_entry#libtorrent##QAEXXZ) referenced in function "public: __thiscall libtorrent::lazy_entry::~lazy_entry(void)" (??1lazy_entry#libtorrent##QAE#XZ)
main.obj : error LNK2019: unresolved external symbol "void __cdecl libtorrent::to_hex(char const *,int,char *)" (?to_hex#libtorrent##YAXPBDHPAD#Z) referenced in function "class std::basic_ostream > & __cdecl libtorrent::operator<<(class std::basic_ostream > &,class libtorrent::big_number const &)" (??6libtorrent##YAAAV?$basic_ostream#DU?$char_traits#D#std###std##AAV12#ABVbig_number#0##Z)
main.obj : error LNK2019: unresolved external symbol "public: struct libtorrent::peer_request __thiscall libtorrent::file_storage::map_file(int,__int64,int)const " (?map_file#file_storage#libtorrent##QBE?AUpeer_request#2#H_JH#Z) referenced in function "public: struct libtorrent::peer_request __thiscall libtorrent::torrent_info::map_file(int,__int64,int)const " (?map_file#torrent_info#libtorrent##QBE?AUpeer_request#2#H_JH#Z)
C:\Users\photoshop3\Documents\Visual Studio 2008\Projects\Lib2\Debug\Lib2.exe : fatal error LNK1120: 7 unresolved externals
The .lib is not included in your project. Make sure you are linking it in;
Configuration Properties -> Linker -> Input -> Additional Dependencies
Another altnerative is to simply copy the .lib to your project folder but don't, it's bound to create problems later on.
Sometimes the .lib is not shipped with the library, so you need to compile it yourself.
The README will tell you this. If this is the case, they usually ship with a .sln file you can open and the just compile it into a .lib file which you then reference in your main application, as I wrote above
Have you added the path of header files in the "Configuration Properties" --> "C/C++“ --> "General" --> "Additional Include Directories"?
The link gives you only the sources (including headerfiles) of libtorrent. You should compile this sources to get a .lib file. Add this .lib file to your client:
Configuration Properties/Linker/Input -> Additional Dependencies: libtorrent-rasterbar.lib
The best starting point for compiling should be the README file.
public: isn't the unresolved symbol. It's just there because the linker it trying to tell you that (most) of the unresolved symbols are public member functions.
It looks like you've included the header for "libtorrent", but not linked to the "libtorrent" library.
You have probably not linked with the torrent library or specified the wrong path to it so that the linker cannot find it.
If the input libraries are of 32bit and your are using them in building a 64bit it might be one of the reasons
For me, I had it included in my project, but it turned out that it was a plugin that was designed to not create an instance of in my unit test.