Development Topics > Plugin Development

unresolved symbol errors while linking vamp plugin

(1/3) > >>

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