jacky-kooboo / wavelet1d

Automatically exported from code.google.com/p/wavelet1d
0 stars 0 forks source link

error LNK 2019 #7

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Hello, I am trying to run the code wavelet2d.cpp but I am getting the following 
error:

wavelet2d.obj : error LNK2019: unresolved external symbol _fftw_destroy_plan 
referenced in function "double __cdecl convfft(class std::vector<double,class 
std::allocator<double> > &,class std::vector<double,class 
std::allocator<double> > &,class std::vector<double,class 
std::allocator<double> > &)" 
(?convfft@@YANAAV?$vector@NV?$allocator@N@std@@@std@@00@Z)

I am using Microsoft Visual Studio 2010 and OpenCV 2.4.3.

I linked the wavelet2d.lib in the additional dependencies.
I also placed the dll files in the opencv folder.

Can you please help me?

Original issue reported on code.google.com by pooja.ra...@umail.uom.ac.mu on 9 Mar 2013 at 1:33

GoogleCodeExporter commented 9 years ago
This appears to be a linker error. Make sure that the two DLLs (libfftw3-3.dll 
and wavelet2d.dll ) are placed in the Project "Debug" folder next to your exe 
file. Also check that the correct header file ( wavelet2d.h) is included .

Original comment by rafat....@gmail.com on 10 Mar 2013 at 11:31

GoogleCodeExporter commented 9 years ago
It's working. Thanks :)

Original comment by pooja.ra...@umail.uom.ac.mu on 10 Mar 2013 at 4:29

GoogleCodeExporter commented 9 years ago
Hello again. I need only one image for the wavelet transform.
I am doing a project on hand vein and I need to extract the features by 
applying wavelet transform and for this I need only one wavelet transform image 
but not several images decomposed totally in one window.

Do you know how I can do it?

Original comment by pooja.ra...@umail.uom.ac.mu on 13 Mar 2013 at 3:00

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
It is straightforward. dwt_output vector contains all the images stored 
sequentially in a one dimensional vector.

dwt output vector (dwt_output) is a 1D vector and the rows and
columns of A,H,V,D are stored in length vector. length(0) and
length(1) store the rows and column values at level J, length(2) and
length(3) store the rows and column values at level J-1 etc.

  So A(j) part is the first length(0)*length(1) values stored in
dwt_output vector followed by H(j),V(j) and D(j). All A,H,V and D at
the same level are of same dimensions so if length(0)=15 and
length(1)=20, you can extract first 300 values as A(j), next 300 as
H(j) and so on. More here.

http://code.google.com/p/wavelet1d/wiki/newfunc

Also check the idwt_2d_sym and idwt_2d codes at

http://code.google.com/p/wavelet1d/source/browse/trunk/wavelet2d/src_MINGWDLL/wa
velet2d.cpp

eg. lines 726-746

Original comment by rafat....@gmail.com on 14 Mar 2013 at 8:42

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Hi
I am trying to run 2SWT code. but I face with below errors:

So I was wondering if you could help me. Thanks in advance. 

1>Link:
1>     Creating library D:\FatemehDta\visual studio 
2010\Projects\waveletdenoising\Debug\waveletdenoising.lib and object 
D:\FatemehDta\visual studio 
2010\Projects\waveletdenoising\Debug\waveletdenoising.exp
1>wavelet2d.obj : error LNK2019: unresolved external symbol 
__imp__fftw_destroy_plan referenced in function "double __cdecl convfft(class 
std::vector<double,class std::allocator<double> > &,class 
std::vector<double,class std::allocator<double> > &,class 
std::vector<double,class std::allocator<double> > &)" 
(?convfft@@YANAAV?$vector@NV?$allocator@N@std@@@std@@00@Z)
1>wavelet2d.obj : error LNK2019: unresolved external symbol __imp__fftw_free 
referenced in function "double __cdecl convfft(class std::vector<double,class 
std::allocator<double> > &,class std::vector<double,class 
std::allocator<double> > &,class std::vector<double,class 
std::allocator<double> > &)" 
(?convfft@@YANAAV?$vector@NV?$allocator@N@std@@@std@@00@Z)
1>wavelet2d.obj : error LNK2019: unresolved external symbol __imp__fftw_execute 
referenced in function "double __cdecl convfft(class std::vector<double,class 
std::allocator<double> > &,class std::vector<double,class 
std::allocator<double> > &,class std::vector<double,class 
std::allocator<double> > &)" 
(?convfft@@YANAAV?$vector@NV?$allocator@N@std@@@std@@00@Z)
1>wavelet2d.obj : error LNK2019: unresolved external symbol 
__imp__fftw_plan_dft_1d referenced in function "double __cdecl convfft(class 
std::vector<double,class std::allocator<double> > &,class 
std::vector<double,class std::allocator<double> > &,class 
std::vector<double,class std::allocator<double> > &)" 
(?convfft@@YANAAV?$vector@NV?$allocator@N@std@@@std@@00@Z)
1>wavelet2d.obj : error LNK2019: unresolved external symbol __imp__fftw_malloc 
referenced in function "double __cdecl convfft(class std::vector<double,class 
std::allocator<double> > &,class std::vector<double,class 
std::allocator<double> > &,class std::vector<double,class 
std::allocator<double> > &)" 
(?convfft@@YANAAV?$vector@NV?$allocator@N@std@@@std@@00@Z)
1>wavelet2d.obj : error LNK2019: unresolved external symbol 
__imp__fftw_execute_dft referenced in function "double __cdecl convfftm(class 
std::vector<double,class std::allocator<double> > &,class 
std::vector<double,class std::allocator<double> > &,class 
std::vector<double,class std::allocator<double> > &)" 
(?convfftm@@YANAAV?$vector@NV?$allocator@N@std@@@std@@00@Z)
1>D:\FatemehDta\visual studio 
2010\Projects\waveletdenoising\Debug\waveletdenoising.exe : fatal error 
LNK1120: 6 unresolved externals
1>
1>Build FAILED. 

Original comment by f.mohamm...@gmail.com on 12 Sep 2013 at 2:25

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Could you elaborate more about below statement? How can I generate the 
fftw3.lib? 
I appreciate your help. 

 In order to link to them from Visual C++, you will need to create .lib "import libraries" using the lib.exe program included with VC++. Run:

     lib /def:libfftw3-3.def
     lib /def:libfftw3f-3.def
     lib /def:libfftw3l-3.def

Original comment by f.mohamm...@gmail.com on 12 Sep 2013 at 6:31

GoogleCodeExporter commented 9 years ago
I solved my problem with this link:

http://stackoverflow.com/questions/9045807/cant-link-to-fftw-library-using-visua
l-c-express-on-windows-64-bit

I hope it could be helpful for the others.

Cheers

Original comment by f.mohamm...@gmail.com on 12 Sep 2013 at 8:13