| Newsgroups |
gmane.comp.lang.eiffel.gobo.general |
| Message-ID |
<[email protected]> |
--------------E90D9FCB04B6939D29F351AC
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable
Hi,
The current code at repository compiles with GOBO. I will try it on
Windows, but not sure what compiler is supposed to be used with the bin
package. But I tried some time ago with Liberty Eiffel on Windows 10 and
it worked.
I get errors like:
In file included from big_file_C6_c.c:37:
cd184.c: In function =E2=80=98inline_F184_4944=E2=80=99:
cd184.c:127:53: error: request for member =E2=80=98arg7=E2=80=99 in somethi=
ng not a
structure or union
=C2=A0 127 |=C2=A0 cdfCanvasSector (arg1, arg2, arg3, arg4, arg5, arg6. ar=
g7);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
cd184.c:127:2: error: too few arguments to function =E2=80=98cdfCanvasSecto=
r=E2=80=99
=C2=A0 127 |=C2=A0 cdfCanvasSector (arg1, arg2, arg3, arg4, arg5, arg6. ar=
g7);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 ^~~~~~~~~~~~~~~
In file included from
/home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup.h:36,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 from cd192.c:58,
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 from big_file_C6_c.c:10:
In file included from big_file_C6_c.c:40:
iu197.c: In function =E2=80=98inline_F197_5505=E2=80=99:
iu197.c:584:31: error: expected =E2=80=98;=E2=80=99 before =E2=80=98:=E2=80=
=99 token
=C2=A0 584 |=C2=A0 return IupAppend (arg1, arg2):
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;
iu197.c: In function =E2=80=98inline_F197_5530=E2=80=99:
iu197.c:784:15: error: =E2=80=98$wht=E2=80=99 undeclared (first use in this=
function)
=C2=A0 784 |=C2=A0 IupSetFloat ($wht, arg2, arg3);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~
iu197.c: In function =E2=80=98inline_F197_5559=E2=80=99:
iu197.c:1016:9: error: void value not ignored as it ought to be
=C2=A01016 |=C2=A0 return iup_isshift (arg1);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 ^
Thanks.
On 5/16/20 1:08 AM, Alexander Kogtenkov kwaxer-JGs/[email protected] [gobo-eiffel] wrote:
>
> The warning you mention means that for some reason the required header
> file was not included. If the updated code still compiles with Gobo,
> could you commit your changes so that we can see what could be wrong?
> BTW, does your code work with Gobo on Windows? It might be easier to
> check it in this case.
> Also, what kind of errors do you get?
> Alexander Kogtenkov
>
> Germ=C3=A1n Arias [email protected] [gobo-eiffel]
> <[email protected]>:
>
> Thanks, that solve the problem. But now I have other problem.
> Eiffel-IUP don't have C++ code, but the library IM (a dependency
> of IUP library) have C++ code. The IM documentation say:
>
> "Even if your application is only in C, you must link with a C++
> capable linker. Using Tecmake set "LINKER :=3D g++" in your
> "config.mak" when compiling with gcc (UNIX and Windows)."
>
> With Liberty Eiffel I link with the library "libstdc++" and this
> solve the problem. With GOBO this library is automatically linked
> (I don't know why). But now seems that "ec" is compiling it in
> pure C, even if I add the libstdc++ library. The IM header file
> have a section:
>
> # =C2=A0 ifdef __cplusplus
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 extern "C" {
> # =C2=A0 endif
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 some_declarations_here
>
> # =C2=A0 ifdef __cplusplus
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
> # =C2=A0 endif
> I don't know if this section should be compiled, but the functions
> inside this section are precisely those mentioned in the warnings:
> warning: implicit declaration of function .....
>
> at the end I get a lot of warnings and errors. I don't have to
> much experience with C and none with C++. Any advice?
>
> Thanks
>
> On 5/15/20 1:46 PM, Alexander Kogtenkov kwaxer-JGs/[email protected]
> [gobo-eiffel] wrote:
>>
>> To improve efficiency of C compilation, EiffelStudio combines
>> code generated for several classes in one large compilation unit.
>> Schematically this looks like
>> #includes for class A
>> code for class A
>> #includes for class B
>> code for class B
>> As a result, if classes refer to the same header file, the
>> references may appear in the large compilation unit more than once:
>> #include "library_x.h"
>> code for A
>> #include "library_x.h" <--- This causes the problem.
>> code for B
>> Unfortunately, C compilers do not like when the same
>> function/structure/etc. are declared more than once. Fortunately,
>> there is a simple workaround. Suppose, C header file
>> "library_x.h" looks like
>> /* Begin */
>> #include "something.h"
>> #include "something_else.h"
>> some_declarations_here
>> /* End */
>> Adding include guards in the header file fixes multiple inclusion
>> issue:
>> /* Begin */
>> #ifndef _library_x_h
>> # =C2=A0 define _library_x_h
>> # =C2=A0 if defined(_MSC_VER) && (_MSC_VER >=3D 1020)
>> # =C2=A0 =C2=A0 =C2=A0pragma once
>> # =C2=A0 endif
>> # =C2=A0=C2=A0include "something.h"
>> # =C2=A0 include "something_else.h"
>> # =C2=A0 ifdef __cplusplus
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 extern "C" {
>> # =C2=A0 endif
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 some_declarations_here
>>
>> # =C2=A0 ifdef __cplusplus
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
>> # =C2=A0 endif
>> #endif
>> /* End */
>> Note that the code above now compiles also with C++ that might be
>> needed if some C++ code is involved.
>> Alexander Kogtenkov
>>
>> Germ=C3=A1n Arias [email protected] [gobo-eiffel]
>> <[email protected]>:
>>
>> No, now I get errors about duplication of C function. There
>> is only one C file "eiffel-iup.h" at library directory
>> (EIFFEL_IUP variable), but I get:
>>
>> In file included from iu263.c:59,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from big_file_C8_c.c:53:
>> /home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup=
..h:1020:6:
>> error: redefinition of =E2=80=98connect_callback=E2=80=99
>> =C2=A01020 | void connect_callback (Ihandle* ih, const char *nam=
e,
>> const char *type, int operation) {
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^=
~~~~~~~~~~~~~~~
>> In file included from iu259.c:47,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from big_file_C8_c.c:2:
>> /home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup=
..h:1020:6:
>> note: previous definition of =E2=80=98connect_callback=E2=80=99 =
was here
>> =C2=A01020 | void connect_callback (Ihandle* ih, const char *nam=
e,
>> const char *type, int operation) {
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^=
~~~~~~~~~~~~~~~
>>
>> my es-library.ecf is:
>>
>> <?xml version=3D"1.0" encoding=3D"ISO-8859-1"?>
>> <system
>> =C2=A0=C2=A0=C2=A0
>> xmlns=3D"http://www.eiffel.com/developers/xml/configuration-1-20=
-0"
>> =C2=A0=C2=A0=C2=A0 xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema=
-instance"
>> =C2=A0=C2=A0=C2=A0
>> xsi:schemaLocation=3D"http://www.eiffel.com/developers/xml/confi=
guration-1-20-0
>> http://www.eiffel.com/developers/xml/configuration-1-20-0.xsd"
>> =C2=A0=C2=A0=C2=A0 name=3D"eiffel-iup"
>> library_target=3D"eiffel-iup"
>> uuid=3D"3C312C2A-398E-4A0E-B834-1663DF82359F"
>> >
>>
>> =C2=A0=C2=A0=C2=A0 <description>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 description: "ECF file for=
the Eiffel-IUP Library"
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 library: "Eiffel-IUP Libra=
ry"
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 copyright: "Copyright (c) =
2016-2020, German Arias"
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 license: "MIT License"
>> =C2=A0=C2=A0=C2=A0 </description>
>>
>> =C2=A0=C2=A0=C2=A0 <target name=3D"eiffel-iup">
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <root all_classes=3D"true"=
/>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <file_rule>
>> <exclude>/\.svn$</exclude>
>> <exclude>/\.git$</exclude>
>> <exclude>/EIFGENs$</exclude>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </file_rule>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <option warning=3D"true"/>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_cflag
>> value=3D"-I${EIFFEL_IUP}"/>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiup.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiupcd.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libcd.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library
>> location=3D"${IUP_LIBS}/libiupcontrols.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiupgl.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library
>> location=3D"${IUP_LIBS}/libiupglcontrols.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiupim.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libim.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiupimglib.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library
>> location=3D"${IUP_LIBS}/libcdcontextplus.so">
>> <description>IUP Library</description>
>> </external_library>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <library name=3D"base"
>> location=3D"$ISE_LIBRARY/library/base/base.ecf"/>
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <cluster name=3D"eiffel-iu=
p" location=3D"./"
>> recursive=3D"true">
>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </cluster>
>> =C2=A0=C2=A0=C2=A0 </target>
>> </system>
>>
>> Where is the problem?
>>
>> Thanks
>>
>> On 5/15/20 1:11 PM, Alexander Kogtenkov kwaxer-JGs/[email protected]
>> [gobo-eiffel] wrote:
>>>
>>> Thank you for the update. Does it mean that the application
>>> can now be compiled with EiffelStudio and runs as expected?
>>> Regards,
>>> Alexander Kogtenkov
>>>
>>> Germ=C3=A1n Arias [email protected] [gobo-eiffel]
>>> <[email protected]>:
>>> Sorry for the noise. I found the problem. At file
>>> library.ecf of eiffel-iup I include the headers from
>>> GOBO, otherwise it doesn't compile. Removing this line
>>> solves the problem.
>>>
>>> Regards
>>>
>>> On 5/15/20 2:19 AM, Germ=C3=A1n Arias [email protected]
>>> [gobo-eiffel] wrote:
>>>>
>>>> Hi,
>>>>
>>>> Not sure if this is an specific problem of EiffelStudio
>>>> or something in
>>>> my ecf files or maybe a bad command line arguments. But
>>>> when I try to
>>>> compile a project with Eiffel Compiler at command line
>>>> using:
>>>>
>>>> ec -freeze -c_compile -config es-system.ecf
>>>>
>>>> I get this error:
>>>>
>>>> [german@localhost example5 (master)]$ ec -freeze
>>>> -c_compile -config
>>>> es-system.ecf
>>>> Eiffel Compilation Manager
>>>> Version 19.05.10.3187 GPL Edition - linux-x86-64
>>>>
>>>> Degree 6: Examining System
>>>> Degree 5: Parsing Classes
>>>> Degree 4: Analyzing Inheritance
>>>> Degree 3: Checking Types
>>>> Degree 2: Generating Byte Code
>>>> Freezing System Changes
>>>> Degree -1: Generating Code
>>>> System Recompiled.
>>>> Preparing C compilation
>>>> Makefile:2: *** recipe commences before first target.=C2=
=A0
>>>> Stop.
>>>>
>>>> My system is PCLinuxOS with GCC 9.3.0 and GNU Make 4.3
>>>>
>>>> You can test with the code from git repository:
>>>>
>>>> https://notabug.org/GermanGT/eiffel-iup
>>>>
>>>> but you should install the IUP libraries and set the
>>>> environment
>>>> variables EIFFEL_IUP to the IUP "library" directory and
>>>> IUP_LIBS to the
>>>> directory with IUP libraries. You should use
>>>> "es-system.ecf" files with
>>>> EiffelStudio compiler.
>>>>
>>>> Regards
>>>>
>=20
--------------E90D9FCB04B6939D29F351AC
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm=
l4/strict.dtd">
<html>
<head>
</head>
=20
<body style=3D"background-color: #fff;">
<span style=3D"display:none"> </span>
<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id=3D"ygrp-mlmsg" style=3D"position:relative;">
<div id=3D"ygrp-msg" style=3D"z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->
<div id=3D"ygrp-text" >
=20=20=20=20=20=20
=20=20=20=20=20=20
<p>
=20=20
=20=20
<p>Hi, <br>
</p>
<p>The current code at repository compiles with GOBO. I will try it
on Windows, but not sure what compiler is supposed to be used with
the bin package. But I tried some time ago with Liberty Eiffel on
Windows 10 and it worked.<br>
</p>
<p>I get errors like:</p>
<p><br>
</p>
<p>In file included from big_file_C6_c.c:37:<br>
cd184.c: In function =E2=80=98inline_F184_4944=E2=80=99:<br>
cd184.c:127:53: error: request for member =E2=80=98arg7=E2=80=99 in s=
omething not
a structure or union<br>
=C2=A0 127 |=C2=A0 cdfCanvasSector (arg1, arg2, arg3, arg4, arg5, arg=
6.
arg7);<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^<br>
cd184.c:127:2: error: too few arguments to function
=E2=80=98cdfCanvasSector=E2=80=99<br>
=C2=A0 127 |=C2=A0 cdfCanvasSector (arg1, arg2, arg3, arg4, arg5, arg=
6.
arg7);<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 ^~~~~~~~~~~~~~~<br>
In file included from
/home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup.h:36=
,<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from cd192.c:58,<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from big_file_C6_c.c:10:</p>
<p><br>
</p>
<p>In file included from big_file_C6_c.c:40:<br>
iu197.c: In function =E2=80=98inline_F197_5505=E2=80=99:<br>
iu197.c:584:31: error: expected =E2=80=98;=E2=80=99 before =E2=80=98:=
=E2=80=99 token<br>
=C2=A0 584 |=C2=A0 return IupAppend (arg1, arg2):<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;<br>
iu197.c: In function =E2=80=98inline_F197_5530=E2=80=99:<br>
iu197.c:784:15: error: =E2=80=98$wht=E2=80=99 undeclared (first use i=
n this
function)<br>
=C2=A0 784 |=C2=A0 IupSetFloat ($wht, arg2, arg3);<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~<br>
<br>
</p>
<p>iu197.c: In function =E2=80=98inline_F197_5559=E2=80=99:<br>
iu197.c:1016:9: error: void value not ignored as it ought to be<br>
=C2=A01016 |=C2=A0 return iup_isshift (arg1);<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 ^<br>
<br>
</p>
<p>Thanks.<br>
</p>
<p><br>
</p>
<div class=3D"moz-cite-prefix">On 5/16/20 1:08 AM, Alexander Kogtenkov
<a class=3D"moz-txt-link-abbreviated" href=3D"mailto:kwaxer-JGs/[email protected]">=
kwaxer-JGs/[email protected]</a> [gobo-eiffel] wrote:<br>
</div>
<blockquote type=3D"cite" cite=3D"mid:[email protected]=
ru">
=20=20=20=20=20=20
<span>=C2=A0</span>
=20=20=20=20=20=20
<div id=3D"ygrp-text">
<p>
</p>
<div>The warning you mention means that for some reason the
required header file was not included. If the updated code
still compiles with Gobo, could you commit your changes so
that we can see what could be wrong?</div>
<div>=C2=A0</div>
<div>BTW, does your code work with Gobo on Windows? It might
be easier to check it in this case.</div>
<div>=C2=A0</div>
<div>Also, what kind of errors do you get?</div>
<div>=C2=A0</div>
<div data=3D"container">
<div data=3D"content">
<div>
<div>Alexander Kogtenkov</div>
</div>
</div>
</div>
<div>=C2=A0</div>
<div>=C2=A0</div>
<blockquote style=3D"border-left:1px solid
#0857A6;margin:10px;padding:0 0 0 10px;">Germ=C3=A1n Arias
<a class=3D"moz-txt-link-abbreviated" href=3D"mailto:germanan=
[email protected]">[email protected]</a> [gobo-eiffel]
<a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:gobo-eiffel=
@yahoogroups.com"><[email protected]></a>:<br>
=C2=A0
<div id>
<div class=3D"js-helper js-readmsg-msg">
<div>
<div id=3D"style_15896082770181005214_BODY">
<div class=3D"class_1589616296"><br>
=C2=A0
<p>Thanks, that solve the problem. But now I
have other problem. Eiffel-IUP don't have C++
code, but the library IM (a dependency of IUP
library) have C++ code. The IM documentation
say:</p>
<p>"Even if your application is only in C, you
must link with a C++ capable linker. Using
Tecmake set "LINKER :=3D g++" in your
"config.mak" when compiling with gcc (UNIX and
Windows)."</p>
<p>=C2=A0</p>
<p>With Liberty Eiffel I link with the library
"libstdc++" and this solve the problem. With
GOBO this library is automatically linked (I
don't know why). But now seems that "ec" is
compiling it in pure C, even if I add the
libstdc++ library. The IM header file have a
section:</p>
<div># =C2=A0 ifdef __cplusplus<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 extern "C" {<br>
# =C2=A0 endif</div>
<div>=C2=A0</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 some_declarations_=
here</div>
<div><br>
# =C2=A0 ifdef __cplusplus<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
# =C2=A0 endif</div>
<div>=C2=A0</div>
<div>I don't know if this section should be
compiled, but the functions inside this
section are precisely those mentioned in the
warnings:</div>
<div>=C2=A0</div>
<div>warning: implicit declaration of function
.....</div>
<p>at the end I get a lot of warnings and
errors. I don't have to much experience with C
and none with C++. Any advice?</p>
<p>Thanks</p>
<p>=C2=A0</p>
<div class=3D"moz-cite-prefix_mailru_css_attribute_=
postfix">On
5/15/20 1:46 PM, Alexander Kogtenkov <a class=3D"=
moz-txt-link-abbreviated_mailru_css_attribute_postfix" href=3D"//e.mail.ru/=
compose/?mailto=3Dmailto%3akwaxer-JGs/[email protected]" rel=3D"noopener
noreferrer" moz=3D"true">kwaxer-JGs/[email protected]</a>
[gobo-eiffel] wrote:</div>
<blockquote type=3D"cite"><span>=C2=A0</span>
<div id=3D"ygrp-text_mailru_css_attribute_postfix=
">
<p>=C2=A0</p>
<div>To improve efficiency of C compilation,
EiffelStudio combines code generated for
several classes in one large compilation
unit. Schematically this looks like</div>
<div>
<div>=C2=A0</div>
<div>#includes for class A</div>
<div>code for class A</div>
<div>#includes for class B</div>
<div>code for class B</div>
</div>
<div>=C2=A0</div>
<div>As a result, if classes refer to the
same header file, the references may
appear in the large compilation unit more
than once:</div>
<div>=C2=A0</div>
<div>#include "library_x.h"</div>
<div>code for A<br>
#include "library_x.h" <--- This causes
the problem.</div>
<div>code for B<br>
=C2=A0</div>
<div>Unfortunately, C compilers do not like
when the same function/structure/etc. are
declared more than once. Fortunately,
there is a simple workaround. Suppose, C
header file "library_x.h" looks like</div>
<div>=C2=A0</div>
<div>/* Begin */</div>
<div>#include "something.h"
<div>#include "something_else.h"</div>
<div>=C2=A0</div>
<div>some_declarations_here</div>
<div>/* End */</div>
=C2=A0
<div>Adding include guards in the header
file fixes multiple inclusion issue:</div>
<div>=C2=A0</div>
<div>/* Begin */</div>
<div>
<div>#ifndef _library_x_h<br>
# =C2=A0 define _library_x_h<br>
# =C2=A0 if defined(_MSC_VER) &&
(_MSC_VER >=3D 1020)<br>
# =C2=A0 =C2=A0 =C2=A0pragma once<br>
# =C2=A0 endif</div>
<div>
<div>=C2=A0</div>
<div># =C2=A0=C2=A0include "something.h"<=
/div>
<div># =C2=A0 include "something_else.h"<=
/div>
</div>
<div>=C2=A0</div>
<div># =C2=A0 ifdef __cplusplus<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 extern "C" {<=
br>
# =C2=A0 endif</div>
<div>=C2=A0</div>
<div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 some_dec=
larations_here</div>
<div>
<div><br>
# =C2=A0 ifdef __cplusplus<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
# =C2=A0 endif</div>
<div>#endif</div>
<div>/* End */</div>
<div>=C2=A0</div>
<div>Note that the code above now
compiles also with C++ that might
be needed if some C++ code is
involved.</div>
</div>
</div>
</div>
<div>=C2=A0</div>
<div>
<div>
<div>
<div>Alexander Kogtenkov</div>
</div>
</div>
</div>
<div>=C2=A0</div>
<div>=C2=A0</div>
<blockquote style=3D"border-left:1px solid
#0857A6;margin:10px;padding:0 0 0 10px;">Ge=
rm=C3=A1n
Arias <a class=3D"moz-txt-link-abbreviated_=
mailru_css_attribute_postfix" href=3D"//e.mail.ru/compose/?mailto=3Dmailto%=
[email protected]" rel=3D"noopener noreferrer" moz=3D"true">germanandre@=
gmx.es</a>
[gobo-eiffel] <a class=3D"moz-txt-link-rfc2=
396E_mailru_css_attribute_postfix" href=3D"//e.mail.ru/compose/?mailto=3Dma=
ilto%3agobo%[email protected]" rel=3D"noopener noreferrer" moz=3D"tr=
ue"><[email protected]></a>:<br>
=C2=A0
<div id>
<div class=3D"js-helper_mailru_css_attrib=
ute_postfix
js-readmsg-msg_mailru_css_attribute_postfix">
<div>
<div id=3D"style_15895705160941543087=
_BODY_mailru_css_attribute_postfix">
<div class=3D"class_1589601901_mail=
ru_css_attribute_postfix">=C2=A0
<p>No, now I get errors about
duplication of C function.
There is only one C file
"eiffel-iup.h" at library
directory (EIFFEL_IUP
variable), but I get:</p>
<p>=C2=A0</p>
In file included from
iu263.c:59,<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from
big_file_C8_c.c:53:<br>
/home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup.h:1020:6:
error: redefinition of
=E2=80=98connect_callback=E2=80=
=99<br>
=C2=A01020 | void connect_callbac=
k
(Ihandle* ih, const char
*name, const char *type, int
operation) {<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~~~~~~~~~~<br>
In file included from
iu259.c:47,<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from
big_file_C8_c.c:2:<br>
/home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup.h:1020:6:
note: previous definition of
=E2=80=98connect_callback=E2=80=
=99 was here<br>
=C2=A01020 | void connect_callbac=
k
(Ihandle* ih, const char
*name, const char *type, int
operation) {<br>
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~~~~~~~~~~
<p>=C2=A0</p>
<p>my es-library.ecf is:</p>
<p>=C2=A0</p>
<p><?xml version=3D"1.0"
encoding=3D"ISO-8859-1"?><br=
>
<system<br>
=C2=A0=C2=A0=C2=A0 xmlns=3D<a c=
lass=3D"moz-txt-link-rfc2396E_mailru_css_attribute_postfix_mailru_css_attri=
bute_postfix" href=3D"http://www.eiffel.com/developers/xml/configuration-1-=
20-0" rel=3D"noopener noreferrer" target=3D"_blank" moz=3D"true">"http://ww=
w.eiffel.com/developers/xml/configuration-1-20-0"</a><br>
=C2=A0=C2=A0=C2=A0 xmlns:xsi=3D=
<a class=3D"moz-txt-link-rfc2396E_mailru_css_attribute_postfix_mailru_css_a=
ttribute_postfix" href=3D"http://www.w3.org/2001/XMLSchema-instance" rel=3D=
"noopener
noreferrer" target=3D"_blank"=
moz=3D"true">"http://www.w3.org/2001/XMLSchema-instance"</a><br>
=C2=A0=C2=A0=C2=A0 xsi:schemaLo=
cation=3D<a class=3D"moz-txt-link-rfc2396E_mailru_css_attribute_postfix_mai=
lru_css_attribute_postfix" href=3D"http://www.eiffel.com/developers/xml/con=
figuration-1-20-0http://www..eiffel.com/developers/xml/configuration-1-20-0=
..xsd" rel=3D"noopener noreferrer" target=3D"_blank" moz=3D"true">"http://ww=
w.eiffel.com/developers/xml/configuration-1-20-0
http://www.eiffel.com/developers/xml/configuration-1-20-0.xsd"</a><br>
=C2=A0=C2=A0=C2=A0 name=3D"eiff=
el-iup"<br>
=C2=A0=C2=A0=C2=A0
library_target=3D"eiffel-iup"<b=
r>
=C2=A0=C2=A0=C2=A0
uuid=3D"3C312C2A-398E-4A0E-B834=
-1663DF82359F"<br>
><br>
<br>
=C2=A0=C2=A0=C2=A0 <descript=
ion><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 description: "ECF
file for the Eiffel-IUP
Library"<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 library: "Eiffel-IUP
Library"<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 copyright:
"Copyright (c) 2016-2020,
German Arias"<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 license: "MIT
License"<br>
=C2=A0=C2=A0=C2=A0 </descrip=
tion><br>
<br>
=C2=A0=C2=A0=C2=A0 <target
name=3D"eiffel-iup"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <root
all_classes=3D"true"/><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <file_rule><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<exclude>/\.svn$</excl=
ude><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<exclude>/\.git$</excl=
ude><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<exclude>/EIFGENs$</ex=
clude><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 </file_rule><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <option
warning=3D"true"/><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_cflag<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
value=3D"-I${EIFFEL_IUP}"/><=
br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libiup.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library>=C2=A0=
=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libiupcd.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libcd.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libiupcontrols.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libiupgl.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libiupglcontrols.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libiupim.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libim.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libiupimglib.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <external_library
location=3D"${IUP_LIBS}/libcdcontextplus.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
<description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
</external_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <library
name=3D"base"
location=3D"$ISE_LIBRARY/librar=
y/base/base.ecf"/><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 <cluster
name=3D"eiffel-iup"
location=3D"./"
recursive=3D"true"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 </cluster><br>
=C2=A0=C2=A0=C2=A0 </target&=
gt;<br>
</system></p>
<p>=C2=A0</p>
<p>Where is the problem?</p>
<p>Thanks</p>
<p>=C2=A0</p>
<div class=3D"moz-cite-prefix_mai=
lru_css_attribute_postfix_mailru_css_attribute_postfix">On
5/15/20 1:11 PM, Alexander
Kogtenkov <a class=3D"moz-txt-l=
ink-abbreviated_mailru_css_attribute_postfix_mailru_css_attribute_postfix" =
href=3D"http://e.mail.ru/compose/?mailto=3Dmailto%3akwaxer-JGs/[email protected]" rel=3D"=
noopener noreferrer" target=3D"_blank" moz=3D"true">kwaxer-JGs/[email protected]</a>
[gobo-eiffel] wrote:</div>
<blockquote type=3D"cite"> <span>=
=C2=A0</span>
<div id=3D"ygrp-text_mailru_css=
_attribute_postfix_mailru_css_attribute_postfix">
<p>=C2=A0</p>
<div>Thank you for the
update. Does it mean
that the application can
now be compiled with
EiffelStudio and runs as
expected?</div>
<div>=C2=A0</div>
<div>Regards,</div>
<div>
<div>
<div>
<div>Alexander
Kogtenkov</div>
</div>
</div>
</div>
<div>=C2=A0</div>
<div>=C2=A0</div>
<blockquote style=3D"border-l=
eft:1px
solid
#0857A6;margin:10px;padding=
:0
0 0 10px;">Germ=C3=A1n Aria=
s
<a class=3D"moz-txt-link-ab=
breviated_mailru_css_attribute_postfix_mailru_css_attribute_postfix" href=
=3D"http://e.mail.ru/compose/?mailto=3Dmailto%[email protected]" rel=3D"=
noopener
noreferrer" target=3D"_bl=
ank" moz=3D"true">[email protected]</a>
[gobo-eiffel] <a class=3D"m=
oz-txt-link-rfc2396E_mailru_css_attribute_postfix_mailru_css_attribute_post=
fix" href=3D"http://e.mail.ru/compose/?mailto=3Dmailto%3agobo%2deiffel@yaho=
ogroups.com" rel=3D"noopener
noreferrer" target=3D"_bl=
ank" moz=3D"true"><[email protected]></a>:<br>
=C2=A0
<div id>
<div class=3D"js-helper_m=
ailru_css_attribute_postfix_mailru_css_attribute_postfix
js-readmsg-msg_mailru_css_attribute_postfix_mailru_css_attribute_postfix">
<div>
<div id=3D"style_1589=
5686471961104927_BODY_mailru_css_attribute_postfix_mailru_css_attribute_pos=
tfix">
<div class=3D"class=
_1589593025_mailru_css_attribute_postfix_mailru_css_attribute_postfix">Sorr=
y
for the noise.
I found the
problem. At
file
library.ecf of
eiffel-iup I
include the
headers from
GOBO,
otherwise it
doesn't
compile.
Removing this
line solves
the problem.
<p>Regards</p>
<div class=3D"moz=
-cite-prefix_mailru_css_attribute_postfix_mailru_css_attribute_postfix_mail=
ru_css_attribute_postfix">On
5/15/20 2:19
AM, Germ=C3=A1n
Arias <a class=3D=
"moz-txt-link-abbreviated_mailru_css_attribute_postfix_mailru_css_attribute=
_postfix_mailru_css_attribute_postfix" href=3D"http://e.mail.ru/compose/?ma=
ilto=3Dmailto%[email protected]" rel=3D"noopener
noreferrer" targe=
t=3D"_blank" moz=3D"true">[email protected]</a> [gobo-eiffel] wrote:</div>
<blockquote type=
=3D"cite"><span>=C2=A0</span>
<div id=3D"ygrp-t=
ext_mailru_css_attribute_postfix_mailru_css_attribute_postfix_mailru_css_at=
tribute_postfix">
<p>Hi,<br>
<br>
Not sure if
this is an
specific
problem of
EiffelStudio
or something
in<br>
my ecf files
or maybe a bad
command line
arguments. But
when I try to<br>
compile a
project with
Eiffel
Compiler at
command line
using:<br>
<br>
ec -freeze
-c_compile
-config
es-system.ecf<br>
<br>
I get this
error:<br>
<br>
[german@localhost example5 (master)]$ ec -freeze -c_compile -config<br>
es-system.ecf<br>
Eiffel
Compilation
Manager<br>
Version
19.05.10.3187
GPL Edition -
linux-x86-64<br>
<br>
Degree 6:
Examining
System<br>
Degree 5:
Parsing
Classes<br>
Degree 4:
Analyzing
Inheritance<br>
Degree 3:
Checking Types<br=
>
Degree 2:
Generating
Byte Code<br>
Freezing
System Changes<br=
>
Degree -1:
Generating
Code<br>
System
Recompiled.<br>
Preparing C
compilation<br>
Makefile:2:
*** recipe
commences
before first
target.=C2=A0 Sto=
p.<br>
<br>
My system is
PCLinuxOS with
GCC 9.3.0 and
GNU Make 4.3<br>
<br>
You can test
with the code
from git
repository:<br>
<br>
<a class=3D"moz-t=
xt-link-freetext_mailru_css_attribute_postfix_mailru_css_attribute_postfix_=
mailru_css_attribute_postfix" href=3D"https://notabug.org/GermanGT/eiffel-i=
up" rel=3D"noopener noreferrer" target=3D"_blank" moz=3D"true">https://nota=
bug.org/GermanGT/eiffel-iup</a><br>
<br>
but you should
install the
IUP libraries
and set the
environment<br>
variables
EIFFEL_IUP to
the IUP
"library"
directory and
IUP_LIBS to
the<br>
directory with
IUP libraries.
You should use
"es-system.ecf" files with<br>
EiffelStudio
compiler.<br>
<br>
Regards<br>
=C2=A0</p>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>=C2=A0</div>
</div>
=20=20=20=20=20=20=20=20=20=20
=20=20=20=20=20=20
=20=20=20=20=20=20
=20=20=20=20=20=20
<!-- end group email -->
</blockquote>
=20=20
</p>
</div>
=20=20=20=20=20
<!--~-|**|PrettyHtmlStart|**|-~-->
<div style=3D"color: #fff; height: 0;">__._,_.___</div>
=20=20=20=20=20=20=20=20=20=20
=20=20
=20
=20=20=20=20
<div style=3D"clear:both"> </div>
<div id=3D"fromDMARC" style=3D"margin-top: 10px;">
<hr style=3D"height:2px ; border-width:0; color:#E3E3E3; background=
-color:#E3E3E3;">
Posted by: =3D?UTF-8?Q?Germ=3Dc3=3Da1n_Arias?=3D <germanandre@gm=
x.es> <hr style=3D"height:2px ; border-width:0; color:#E3E3E3; ba=
ckground-color:#E3E3E3;">
</div>
<div style=3D"clear:both"> </div>
<table cellspacing=3D4px style=3D"margin-top: 10px; margin-bottom: 10px=
; color: #2D50FD;">
<tbody>
<tr>
<td style=3D"font-size: 12px; font-family: arial; font-weight: bo=
ld; padding: 7px 5px 5px;" >
<a style=3D"text-decoration: none; color: #2D50FD=
" href=3D"https://groups.yahoo.com/neo/groups/gobo-eiffel/conversations/mes=
sages/1916;_ylc=3DX3oDMTJwcHFsYnZ2BF9TAzk3MzU5NzE0BGdycElkAzE1MjIyNzAEZ3Jwc=
3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzE5MTYEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxNTg5Njg0=
MjA3?act=3Dreply&messageNum=3D1916">Reply via web post</a>
</td>
<td>•</td>
<td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;" >
<a href=3D"mailto:[email protected]?subject=3DRe%3A%20%5Bgobo-=
eiffel%5D%20Problem%20with%20Makefile%20using%20EiffelStudio" style=3D"text=
-decoration: none; color: #2D50FD;">
Reply to sender </a>
</td>
<td>•</td>
<td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;">
<a href=3D"mailto:[email protected]?subject=3DRe%3A%2=
0%5Bgobo-eiffel%5D%20Problem%20with%20Makefile%20using%20EiffelStudio" styl=
e=3D"text-decoration: none; color: #2D50FD">
Reply to group </a>
</td>
<td>•</td>
<td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;" >
<a href=3D"https://groups.yahoo.com/neo/groups/gobo-eiffel/conv=
ersations/newtopic;_ylc=3DX3oDMTJlNWdpaWF2BF9TAzk3MzU5NzE0BGdycElkAzE1MjIyN=
zAEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTU4OTY4NDIwNw--=
" style=3D"text-decoration: none; color: #2D50FD">Start a New Topic</a>
</td>
<td>•</td>
<td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;color: #2D50FD;" >
<a href=3D"https://groups.yahoo.com/neo/groups/=
gobo-eiffel/conversations/topics/1909;_ylc=3DX3oDMTM0MWpyNnJpBF9TAzk3MzU5Nz=
E0BGdycElkAzE1MjIyNzAEZ3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzE5MTYEc2VjA2Z0cgRzb=
GsDdnRwYwRzdGltZQMxNTg5Njg0MjA3BHRwY0lkAzE5MDk-" style=3D"text-decoration: =
none; color: #2D50FD;">Messages in this topic</a>
(8)
</td>
</tr>
</tbody>
</table>
=20=20=20=20=20=20=20=20
<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<!-- |**|end egp html banner|**| -->
<div id=3D"ygrp-grfd" style=3D"font-family: Verdana; font-size: 12px; p=
adding: 15px 0;">
=20=20=20=20=20=20
<!-- |**|begin egp html banner|**| -->
To Post a message, send it to: [email protected]<BR=
>
To Unsubscribe, send a blank message to: gobo-eiffel-unsubscribe-B11MqFFcr06IwRZHo2/[email protected]=
m=20=20=20=20=20=20
<!-- |**|end egp html banner|**| -->
</div>
=20=20
=20
<!-- |**|begin egp html banner|**| -->
<div id=3D"ygrp-vital" style=3D"background-color: #f2f2f2; font-family: Ver=
dana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
<span id=3D"vithd" style=3D"font-weight: bold; color: #333; text-transf=
orm: uppercase; "><a href=3D"https://groups.yahoo.com/neo/groups/gobo-eiffe=
l/info;_ylc=3DX3oDMTJlbm1ndnZhBF9TAzk3MzU5NzE0BGdycElkAzE1MjIyNzAEZ3Jwc3BJZ=
AMxNzA1MDA2NzY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTU4OTY4NDIwNw--" style=3D"t=
ext-decoration: none;">Visit Your Group</a></span>
<ul style=3D"list-style-type: none; margin: 0; padding: 0; display: in=
line;">
</ul>
</div>
<div id=3D"ft" style=3D"font-family: Arial; font-size: 11px; margin-top: 5p=
x; padding: 0 2px 0 0; clear: both;">
<a href=3D"https://groups.yahoo.com/neo;_ylc=3DX3oDMTJkZWFkbzh0BF9TAzk3ND=
c2NTkwBGdycElkAzE1MjIyNzAEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA2dmcARzd=
GltZQMxNTg5Njg0MjA3" style=3D"float: left;"><img src=3D"https://s.yimg.com/=
ru/0.9.12/min/css/yahoo_en-US_f_pw_101x21.png" height=3D"21" width=3D"101" =
alt=3D"Yahoo! Groups" style=3D"border: 0;"/></a>
<div style=3D"color: #747575; float: right;"> • <a href=3D"https://i=
nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio=
n: none;">Privacy</a> • <a href=3D"mailto:gobo-eiffel-unsubscribe@yaho=
ogroups.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Unsubsc=
ribe</a> • <a href=3D"https://info.yahoo.com/legal/us/yahoo/utos/terms=
/" style=3D"text-decoration: none;">Terms of Use</a> </div>
</div>
<br>
<!-- |**|end egp html banner|**| -->
</div> <!-- ygrp-msg -->
=20
<!-- Sponsor -->
<!-- |**|begin egp html banner|**| -->
<div id=3D"ygrp-sponsor" style=3D"width:160px; float:right; clear:none; m=
argin:0 0 25px 0; background: #fff;">
<!-- Start Recommendations -->
<div id=3D"ygrp-reco">
</div>
<!-- End Recommendations -->
</div> <!-- |**|end egp html banner|**| -->
<div style=3D"clear:both; color: #FFF; font-size:1px;">.</div>
</div>
<img src=3D"http://geo.yahoo.com/serv?s=3D97359714/grpId=3D1522270/grpspI=
d=3D1705006764/msgId=3D1916/stime=3D1589684207" width=3D"1" height=3D"1"> <=
br>
<img src=3D"http://y.analytics.yahoo.com/fpc.pl?ywarid=3D515FB27823A7407E&a=
=3D10001310322279&js=3Dno&resp=3Dimg" width=3D"1" height=3D"1">=20
<div style=3D"color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</body>
<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
<style type=3D"text/css">
<!--
#ygrp-mkp {
border: 1px solid #d8d8d8;
font-family: Arial;
margin: 10px 0;
padding: 0 10px;
}
#ygrp-mkp hr {
border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd {
color: #628c2a;
font-size: 85%;
font-weight: 700;
line-height: 122%;
margin: 10px 0;
}
#ygrp-mkp #ads {
margin-bottom: 10px;
}
#ygrp-mkp .ad {
padding: 0 0;
}
#ygrp-mkp .ad p {
margin: 0;
}
#ygrp-mkp .ad a {
color: #0000ff;
text-decoration: none;
}
#ygrp-sponsor #ygrp-lc {
font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd {
margin: 10px 0px;
font-weight: 700;
font-size: 78%;
line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad {
margin-bottom: 10px;
padding: 0 0;
}
#actions {
font-family: Verdana;
font-size: 11px;
padding: 10px 0;
}
#activity {
background-color: #e0ecee;
float: left;
font-family: Verdana;
font-size: 10px;
padding: 10px;
}
#activity span {
font-weight: 700;
}
#activity span:first-child {
text-transform: uppercase;
}
#activity span a {
color: #5085b6;
text-decoration: none;
}
#activity span span {
color: #ff7900;
}
#activity span .underline {
text-decoration: underline;
}
.attach {
clear: both;
display: table;
font-family: Arial;
font-size: 12px;
padding: 10px 0;
width: 400px;
}
.attach div a {
text-decoration: none;
}
.attach img {
border: none;
padding-right: 5px;
}
.attach label {
display: block;
margin-bottom: 5px;
}
.attach label a {
text-decoration: none;
}
=20=20
blockquote {
margin: 0 0 0 4px;
}
.bold {
font-family: Arial;
font-size: 13px;
font-weight: 700;
}
.bold a {
text-decoration: none;
}
dd.last p a {
font-family: Verdana;
font-weight: 700;
}
dd.last p span {
margin-right: 10px;
font-family: Verdana;
font-weight: 700;
}
dd.last p span.yshortcuts {
margin-right: 0;
}
div.attach-table div div a {
text-decoration: none;
}
div.attach-table {
width: 400px;
}
div.file-title a, div.file-title a:active, div.file-title a:hover, div.fi=
le-title a:visited {
text-decoration: none;
}
div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div=
..photo-title a:visited {
text-decoration: none;
}
div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
font-family: Verdana;
font-size: 10px;
font-weight: normal;
}
.green {
color: #628c2a;
}
.MsoNormal {
margin: 0 0 0 0;
}
o {
font-size: 0;
}
#photos div {
float: left;
width: 72px;
}
#photos div div {
border: 1px solid #666666;
height: 62px;
overflow: hidden;
width: 62px;
}
#photos div label {
color: #666666;
font-size: 10px;
overflow: hidden;
text-align: center;
white-space: nowrap;
width: 64px;
}
#reco-category {
font-size: 77%;
}
#reco-desc {
font-size: 77%;
}
.replbq {
margin: 4px;
}
#ygrp-actbar div a:first-child {
/* border-right: 0px solid #000;*/
margin-right: 2px;
padding-right: 5px;
}
#ygrp-mlmsg {
font-size: 13px;
font-family: Arial, helvetica,clean, sans-serif;
*font-size: small;
*font: x-small;
}
#ygrp-mlmsg table {
font-size: inherit;
font: 100%;
}
#ygrp-mlmsg select, input, textarea {
font: 99% Arial, Helvetica, clean, sans-serif;
}
#ygrp-mlmsg pre, code {
font:115% monospace;
*font-size:100%;
}
#ygrp-mlmsg * {
line-height: 1.22em;
}
#ygrp-mlmsg #logo {
padding-bottom: 10px;
}
#ygrp-msg p a {
font-family: Verdana;
}
#ygrp-msg p#attach-count span {
color: #1E66AE;
font-weight: 700;
}
#ygrp-reco #reco-head {
color: #ff7900;
font-weight: 700;
}
#ygrp-reco {
margin-bottom: 20px;
padding: 0px;
}
#ygrp-sponsor #ov li a {
font-size: 130%;
text-decoration: none;
}
#ygrp-sponsor #ov li {
font-size: 77%;
list-style-type: square;
padding: 6px 0;
}=20
#ygrp-sponsor #ov ul {
margin: 0;
padding: 0 0 0 8px;
}
#ygrp-text {
font-family: Georgia;
}
#ygrp-text p {
margin: 0 0 1em 0;
}
#ygrp-text tt {
font-size: 120%;
}
#ygrp-vital ul li:last-child {
border-right: none !important;=20
}=20
-->
</style>
</head>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->
--------------E90D9FCB04B6939D29F351AC--