[mercury-users] Re: Compilation errors with Mercury and GTK--
Fergus Henderson
fjh at cs.mu.OZ.AU
Tue Feb 5 23:57:05 AEDT 2002
On 05-Feb-2002, Andy Coates <coates_andy at hotmail.com> wrote:
>
> In file included from skaMain.cc:3:
> skaNLP.h:30: `MR_Word' was not declared in this scope
> skaNLP.h:30: parse error before `,'
> skaNLP.h:36: syntax error before `;'
It's very difficult to figure out exactly what is going on without a little
more context; what's at line 30 of skaNLP.h and immediately before it?
(`MR_Word' is supposed to be defined in "mercury_types.h",
which is included by "mercury_imp.h".)
> If I try the other approach, ie using mmake (with g++) passing the
> -DMERCURY_NO_BOOTSTRAP_H option, and also using the highlevel code flag,
> running mmake depend, followed by mmake yields many errors of the following
> types:
>
>
> bash-2.05$ mmake
> rm -f skaNLP.c
> mmc --compile-to-c --high-level-code skaNLP.m > skaNLP.err 2>&1
> MERCURY_C_COMPILER=g++ mgnuc --high-level-code -g -c skaNLP.c -o
> skaNLP.o
> skaNLP.c:38: uninitialized const
> `skaNLP__skaNLP__enum_name_ordered_v_type_0'
> skaNLP.m:221: redefinition of `const struct MR_EnumFunctorDesc *const
> skaNLP__skaNLP__enum_name_ordered_v_type_0[2]'
> skaNLP.m:247: ANSI C++ forbids implicit conversion from `void *' in
> initialization
> ..etc
This occurs because you are trying to compile the C files
that the Mercury compiler generates with g++, which is a C++
compiler, not a C compiler, and C++ isn't compatible with C.
(Even if you got it to compile, you'd probably get link errors,
because g++ generates object files with mangled function names...)
Try deleting the definitions of MGNUC and ML from your Mmakefile.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list