compiling C program containing Xutil functions

H

happytoday

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>
#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;
}
 
J

John Gordon

In said:
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 .

Your code is calling several functions that are not part of the standard
C library. You must provide a library which contains those funcitons.
 
I

Ian Collins

happytoday said:
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 .

You asked this in on c.l.c 2006, the same answers apply.
 
T

toucan

happytoday said:
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 :

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
 
H

happytoday

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

The problem that I did know well what files concerning 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
"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
ld: fatal: library -lXlib: not found
ld: fatal: library -lXutil: not found
ld: fatal: File processing errors. No output written to a.out
 
H

happytoday

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

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
"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
ld: fatal: library -lXlib: not found
ld: fatal: library -lXutil: not found
ld: fatal: File processing errors. No output written to a.out
 
I

Ian Collins

happytoday said:
The problem that I did know well what files concerning these functions
so I compiled with the below errors

How did you resolve them in 2006?
 
F

Fred

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.
 
T

toucan

happytoday said:
The problem that I did know well what files concerning 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
"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
ld: fatal: library -lXlib: not found
ld: fatal: library -lXutil: not found
ld: fatal: File processing errors. No output written to a.out

It looks like something is wrong : did you check the "implicitly
declared" function are really in those header files ? Did you check
the lib file are really in this directory ?
 
H

happytoday

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.


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


Ditto for these warnings.


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

Please visit this page and see what the examples written about
Graphical Interfaces: Dialog Boxes example :
http://docs.huihoo.com/gnu/c-basics/c_tutorial.html
 
H

happytoday

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.


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


Ditto for these warnings.


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

Please visit this page and see what the examples written about
Graphical Interfaces: Dialog Boxes example :
http://docs.huihoo.com/gnu/c-basics/c_tutorial.html
 
F

Flash Gordon

happytoday wrote:

Please visit this page and see what the examples written about
Graphical Interfaces: Dialog Boxes example :
http://docs.huihoo.com/gnu/c-basics/c_tutorial.html

Or better yet, don't use that tutorial. Apart from using "void main" it
lists strncpy as one of the most useful string functions (it's use is
highly specialised), it keeps having a space after the < of #include
directives, it keeps saying statement blocks are required where you can
alternatively use a single statement (although sometimes it does not
bother with the block it says you need when initially describing the
construct)...

That's what a cursory skim through shows.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,535
Members
45,008
Latest member
obedient dusk

Latest Threads

Top