Re: [Vala] Generated vapi file for a library not compilable.



Thank you for the prompt reply.
I just fixed it with using a sed command to add the "global::" prefix in a
"all-local" target of Makefile.am, which is very dirty!
I'll try what you said. I did not noticed that it can be the cause of the
problem.
Thank you very much!!!


On Thu, Nov 29, 2012 at 5:11 PM, Jürg Billeter <j bitron ch> wrote:

On Thu, 2012-11-29 at 10:13 +0800, PCMan wrote:
All of the errors I got are like these:
  VALAC  lxpanel2_vala.stamp
lxpanel-applet.vapi:10.27-10.49: error: The type name
`Lxpanel.AppletInfo'
could not be found

In lxpanel2.vala you have a class `Lxpanel' in the namespace `Lxpanel'.
This means that the symbol `Lxpanel' will be resolved to the class
`Lxpanel.Lxpanel' instead of the global namespace `Lxpanel' - when
referenced from within the namespace `Lxpanel'.

valac typically detects such conflicts and prefixes the name with
`global::' in the generated .vapi file. However, as the conflict is not
in the lxpanel-applet library, it's impossible for valac to detect that
conflict when generating the .vapi file.

I recommend you to rename the class `Lxpanel.Lxpanel' to something else
such as `Lxpanel.Panel'.

Regards,
Jürg




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]