|
From: | John W. Eaton |
Subject: | Re: MOC intermediate files don't have "config.h" inclusion |
Date: | Wed, 20 Mar 2013 04:35:02 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121122 Icedove/10.0.11 |
On 03/19/2013 03:52 PM, Daniel J Sebald wrote:
It appears that the Qt intermediate files created by MOC go deep into the standard headers and then come back out to libgnu/unistd.h. That file requires the definition _GL_INLINE_HEADER_BEGIN which is in the main "config.h". The Qt MOC files are a short hunk of code with tables and hooks to make all the signals/slots within the associated C++ file work in the Qt system. The problem is that the MOC files, being generated, cannot include the file "config.h" the way that, say, dialog.cc can. My temporary solution is to include the "config.h" file in dialog.h. I believe the other GUI code might be indirectly doing the same thing because in "symbol-information.h" is this comment: // FIXME -- we should not be including config.h in header files. #ifdef HAVE_CONFIG_H #include <config.h> #endif
I think the solution to this problem is to not have the symbol_information constructor take a symbol_table::symbol_record object as an argument, but instead pass in the actual bits of information that are needed and leave that extraction to the .cc files where symbol_information objects are constructed. We can make this easier by writing a function in the symbol_table class that produces the information needed by the workspace viewer in a more suitable format than symbol_record objects.
jwe
[Prev in Thread] | Current Thread | [Next in Thread] |