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



Really thank you , Jürg Billeter.
My problem is solved by renaming that class to avoid conflicts.
Mailing list is good.
I spent hours and hours trying to workaround this and did not find any clue.
I should have came here earlier.
Thanks!


On Thu, Nov 29, 2012 at 5:26 PM, PCMan <pcman tw gmail com> wrote:

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]