Development Topics > Plugin Development
unresolved symbol errors while linking vamp plugin
			haze:
			
			hi.
i am making a vamp plugin and uses the plugin wrapper of aubio (pitchdetection). 
i already linked the static library of vamp-aubio but i got this error when linking. 
may i ask what is the runtime library used in building vamp-aubio static library coz i am encountering unresolved symbol errors. one of the possible cause is the compatibility of the runtime library use.
this is the error--
>vamp-aubio.lib(vamp-aubio.obj) : error LNK2019: unresolved external symbol __imp____lc_codepage referenced in function _VAMP-AUBIO_DllMain@12
hope anybody could help me with this problem. please..
thanks... 
hazel
		
			cannam:
			
			It's not quite clear to me where you got the vamp-aubio.lib static library from?  There isn't a static library included in the vamp-aubio distribution.
I'm far from expert on the details of Windows libraries and linkers -- and this is clearly a Windows-specific problem.  But I think this sort of error, in which you have an unresolved symbol with an "__imp__" prefix, means that you have code that was compiled specifically to be used in a DLL, where the symbols have been declared with __declspec(dllimport).  I don't think you can link such code statically without some further trickery.  Generally, to produce a static library, you would have to compile the code in a different way using some pre-processor symbol that tells the compiler not to generate the DLL import prefixes.  Exactly how to do this, usually, depends on the build system for the library.
I'm sorry I don't have any specific suggestions.  You might get more help if you ask this sort of question on a site with a higher proportion of Windows experts (such as stackoverflow.com), although it would help if you can express the problem in such a way that people can answer it without knowing too much about the specific libraries you are using.
Alternatively, rather than trying to link against a static library, you might find it simpler to add the source files to your project and compile them all together.
(The specific symbol that you have -- lc_codepage -- comes from the locale library, and possibly originates with one of the Unix-Windows cross compiler support libraries from MinGW.)
Chris
		
			haze:
			
			hi, 
thanks for the reply.
i got vamp-aubio.lib for a .dll to .lib converter. 
before linking this library, i got the same unresolved errors referenced from the functions in pitchdetection of aubio. 
--- Quote from: cannam on March 06, 2009, 10:45:46 ---
Alternatively, rather than trying to link against a static library, you might find it simpler to add the source files to your project and compile them all together.
--- End quote ---
 
I put the source files of aubio library in my project but still i got unresolved symbol errors.
thanks.
hazel
		
			cannam:
			
			
--- Quote from: haze on March 06, 2009, 13:14:35 ---I put the source files of aubio library in my project but still i got unresolved symbol errors.
--- End quote ---
Which symbols were unresolved then?  Were they also __imp__ symbols, or something different?
Chris
		
			haze:
			
			
It's different.
These are the errors.
VocalRangeAnalyzerPlugin.obj : error LNK2019: unresolved external symbol _del_fvec referenced in function "public: virtual __thiscall VocalRangeAnalyzerPlugin::~VocalRangeAnalyzerPlugin(void)" (??1VocalRangeAnalyzerPlugin@@UAE@XZ)
VocalRangeAnalyzerPlugin.obj : error LNK2019: unresolved external symbol _del_aubio_pitchdetection referenced in function "public: virtual __thiscall VocalRangeAnalyzerPlugin::~VocalRangeAnalyzerPlugin(void)" (??1VocalRangeAnalyzerPlugin@@UAE@XZ)
...that's just 2 out of the 6 unresolved externals.
		
Navigation
[0] Message Index
[#] Next page
Go to full version