HP Visualize J5000 hp workstations - hp-ux 10.20 graphics administration guide - Page 14

Compiling Starbase Applications, Compiling with Shared Libraries, Examples

Page 14 highlights

Chapter 2: Compiling Your Application This chapter provides information for compiling your application with either archived or shared libraries for the following Application Programming Interfaces (APIs): Starbase, HP-PHIGS, and HP PEX. Compiling examples are given for C, Fortran, and Pascal. The actual pathnames of the conceptual () directory names in this chapter depends on the file system structure. See Chapter 1 for details. Compiling Starbase Applications Compiling with Shared Libraries The compiler programs (cc, f77, and pc) link with Starbase shared libraries by default. Starbase will explicitly load the appropriate device driver library at run time when you compile and link with the shared library /lib/libhpgfx.sl, or use the -lhpgfx option. This loading occurs at gopen(3G) time. Examples Assuming you are using ksh(1), to compile and link a C program for use with the shared library driver, use the forms below. cc example.c -I -L -L -lXwindow \ -lhpgfx -lXhp11 -lX11 -lm -ldld -o example For FORTRAN: fort77 example.f -I -L -L -lXwindow \ -lhpgfx -lXhp11 -lX11 -lm -ldld -o example For Pascal: pc example.p -I -Wl,-L -Wl,-L \ -lXwindow -lhpgfx -lXhp11 -lX11 -lm ldld -o example Compiling with Archive Libraries You can link the appropriate library, for your specific device driver, to a program by using any one of the following: • The path name /.a; • An appropriate relative path name; or • The -ldd option (for example, -lddhcrx) with the LDOPTS environment variable set to -a archive and exported. Or (preferred because of fewer side-effects), "-Wl,a,archive". Page 14 Graphics Administration Guide for HP-UX 10.20

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171

Chapter 2: Compiling Your Application
This chapter provides information for compiling your application with either archived or shared libraries
for the following Application Programming Interfaces (APIs): Starbase, HP-PHIGS, and HP PEX.
Compiling examples are given for C, Fortran, and Pascal.
The actual pathnames of the conceptual (<
italicized and angle-bracketed>
) directory names in this
chapter depends on the file system structure. See
Chapter 1
for details.
Compiling Starbase Applications
Compiling with Shared Libraries
The compiler programs (cc, f77, and pc) link with Starbase shared libraries by default. Starbase will
explicitly load the appropriate device driver library at run time when you compile and link with the
shared library
<common> /lib/libhpgfx.sl
, or use the
-lhpgfx
option. This loading occurs at gopen(3G)
time.
Examples
Assuming you are using ksh(1), to compile and link a C program for use with the shared library driver,
use the forms below.
cc example.c –I<sb-incl> -L<common> -L<sb-lib> -lXwindow \ -lhpgfx -lXhp11 -lX11 -lm -ldld -o
example
For FORTRAN:
fort77 example.f –I<sb-incl> -L<common> -L<sb-lib> -lXwindow \ -lhpgfx -lXhp11 -lX11 -lm -ldld -o
example
For Pascal:
pc example.p –I<sb-incl> -Wl,-L<common> -Wl,-L<sb-lib> \ -lXwindow -lhpgfx -lXhp11 -lX11 -lm -
ldld -o example
Compiling with Archive Libraries
You can link the appropriate library, for your specific device driver, to a program by using any one of
the following:
The path name
<sb-lib>
/
<library_name>
.a;
An appropriate relative path name; or
The
–ldd<device_driver>
option (for example, -lddhcrx) with the LDOPTS environment
variable set to -a archive and exported. Or (preferred because of fewer side-effects), "-Wl,-
a,archive".
Graphics Administration Guide for HP-UX 10.20
Page 14