View Single Post
  #9 (permalink)  
Old 02-09-2010, 02:28 PM
Fred
Guest
 
Posts: n/a
Default Re: compiling C program containing Xutil functions

On Feb 8, 3:10*pm, happytoday <ehabaziz2...@gmail.com> wrote:
> On Feb 9, 12:30*am, toucan <tou...@zoo.invalid> wrote:
>
>
>
>
>
> > happytoday wrote:
> > > I failed to compile that program as written below with those error
> > > messages :
> > > The conditions of compiling this program are not available any longer
> > > in the net so please help me compiling this program .

>
> > > Error messages :
> > > ------------------------
> > > root @ Homer /export/home/unix.d/programs.d/clang.d/GUI>cc plot_data.c
> > > "plot_data.c", line 15: warning: implicit function declaration:
> > > create_int_dialog_entry
> > > "plot_data.c", line 16: warning: implicit function declaration:
> > > create_float_dialog_entry
> > > "plot_data.c", line 20: warning: implicit function declaration:
> > > set_up_dialog
> > > "plot_data.c", line 24: warning: implicit function declaration:
> > > read_dialog_window
> > > Undefined * * * * * * * * * * * first referenced
> > > *symbol * * * * * * * * * * * * * * in file
> > > create_int_dialog_entry * * * * * * plot_data.o
> > > create_float_dialog_entry * * * * * plot_data.o
> > > read_dialog_window * * * * * * * * *plot_data.o
> > > set_up_dialog * * * * * * * * * * * plot_data.o
> > > ld: fatal: Symbol referencing errors. No output written to a.out

>
> > > Sources code :
> > > ------------------------
> > > #include </usr/openwin/share/include/X11/Xlib.h>
> > > #include </usr/openwin/share/include/X11/Xutil.h>

>
> > It would be better to write
> > #include <X11/Xlib.h>
> > #include <X11/Xutil.h>

>
> > then, probably something like the following, assuming your
> > lib files are in /usr/openwin/lib (e.g. libXlib.a if it's
> > the correct name for your library)
> > cc -I/usr/openwin/share/include -L/usr/openwin/lib -lXlib -lXutil

>
> > > #include <stdio.h>
> > > #include <math.h>

>
> > > int main()
> > > {
> > > /* Define default values: */

>
> > > int n = 0;
> > > float x = 0.0;

>
> > > /* Define contents of dialog window */

>
> > > create_int_dialog_entry("n", &n);
> > > create_float_dialog_entry("x", &x);

>
> > > /* Create window with name "Setup" and top-left corner at (0,0) */

>
> > > set_up_dialog("Setup", 0, 0);

>
> > > /* Display the window and read the results */

>
> > > read_dialog_window();

>
> > > /* Print out the new values */

>
> > > printf("n = %d, x = %f\n", n, x);
> > > return 0;
> > > }

>
> The problem that I do not know what library files should be included
> to resolve these functions
> so I compiled with the below errors :
>
> root @ Homer /clang>head plot_data.c
> #include <X11/Xlib.h>
> #include <X11/Xutil.h>
> #include <stdio.h>
> #include <math.h>
>
> int main()
> {
> /* Define default values: */
>
> int n = 0;
> root @ Homer /clang>
>
> root @ Homer /clang>cc -I/usr/openwin/share/include -L/usr/openwin/lib
> -lXlib -lXutil plot_data.c


Are you sure you want "-I/usr/openwin/share/include" instead of
"-L/usr/openwin/share/include" ?

Where are libX11.aand libXutil.a on your system?

In my experience, Sun Unix platforms put them in "/usr/openwin",
while most other -nix platforms put them (or at least links to them)
in /usr/lib or /usr/X11R6.

You need to find where thosw libraries are on your system, and
set the "-L" options appropriately to point to them.

> "plot_data.c", line 15: warning: implicit function declaration:
> create_int_dialog_entry


Line 15 of your source code apparently references a function
named "create_int_directory_entry" without you having provided
a prototype for that function.

> "plot_data.c", line 16: warning: implicit function declaration:
> create_float_dialog_entry
> "plot_data.c", line 20: warning: implicit function declaration:
> set_up_dialog
> "plot_data.c", line 24: warning: implicit function declaration:
> read_dialog_window


Ditto for these warnings.

> ld: fatal: library -lXlib: not found
> ld: fatal: library -lXutil: not found


libXlib.a and libXutil.a could not be found in the paths you provided.

> ld: fatal: File processing errors. No output written to a.out- Hide quoted text -
>
> - Show quoted text -


--
Fred K
Reply With Quote