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