Development Topics > Plugin Development

unresolved symbol errors while linking vamp plugin

<< < (2/3) > >>

cannam:

That's strange, these are plain C functions that are defined in the aubio source files (del_fvec is defined in sample.c, declared in sample.h, etc).

I can't see, at first reading, what could cause this.  Hmm.


Chris

haze:

I really badly need to solve this stuff.

I just did this steps in doing this project.

--I used VampExamplePlugins.vcproj to start. I added up VocalRangeAnalyzerPlugin.cpp and VocalRangeAnalyzerPlugin.h to the project.
--Then, i copied some codes from Pitchdetection.cpp file of Aubio. Then I added the aubio library files and put it on a folder called aubio.
--Then compile it and got that errors.
--Searched on Google about these errors and says that I need to link libraries. Got also an idea how to convert a .dll file into a .lib static library using the converter.
--Using vamp-aubio.dll, I got vamp-aubio.lib, linked it through project properties. Got that error above.

Did I miss something?

Thanks.

Hazel

cannam:

--- Quote from: haze on March 06, 2009, 14:34:54 -----Then, i copied some codes from Pitchdetection.cpp file of Aubio. Then I added the aubio library files and put it on a folder called aubio.
--Then compile it and got that errors.

--- End quote ---

You're quite sure that the Aubio library files were included in the build and link, at this point?

The most obvious reason why you would have symbols such as _del_fvec undefined in the link would be simply that the file that defines them (e.g. sample.c, in this case) was not compiled and/or linked with the build.  That is, either sample.c was not compiled into sample.o, or sample.o was not linked into your dll.

I know I may be stating the obvious here, but it's worth checking.

Incidentally, I'm going to move some of these threads into another forum -- they should really be in the Plugin Development forum rather than the one about using plugins.


Chris

haze:

--- Quote from: cannam on March 06, 2009, 16:49:59 ---

You're quite sure that the Aubio library files were included in the build and link, at this point?

The most obvious reason why you would have symbols such as _del_fvec undefined in the link would be simply that the file that defines them (e.g. sample.c, in this case) was not compiled and/or linked with the build.  That is, either sample.c was not compiled into sample.o, or sample.o was not linked into your dll.


--- End quote ---

That could be the problem here.

But I don't know how to do it. I'm sorry, I'm new in using Visual Studio.

Could you give me the steps on how to create it (e.g. sample.c compiled to sample.o)

Thanks. It could be a big help.

Hazel

cannam:

--- Quote from: haze on March 06, 2009, 17:01:25 ---Could you give me the steps on how to create it (e.g. sample.c compiled to sample.o)

--- End quote ---

Well, to be honest it should be enough to just add the files to your project.  If they are present in the project file listing, that should be enough...  If you re-build the project (i.e. build from clean), do the files you imported from aubio (e.g. sample.c) appear in the log of files being compiled?  I don't have Visual Studio to hand (running Linux at the moment) but I'm pretty sure it tells you what files it's compiling -- I can't remember whether it also tells you what files it is linking though.


Chris

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version