Sponsored Content
Top Forums Programming Conditions/suggestions to use shared library in C/C++ coding Post 303017431 by jim mcnamara on Wednesday 16th of May 2018 12:11:49 AM
Old 05-16-2018
How to do this with a pretend zlib path -- you need to change it to whatever code you are trying to run in your C/C++ code. C examples:

1. you have to get the header files into your code
Steps:

A. gcc -I /path/to/zlib # when compiling. This adds a directory to the include search path
B. In your C code you have to include the "foreign" header file just like you would do for standard C header files:
Code:
#include <zlib.h>

2. You have to use -L path/to/zlib/libraries also on the gcc command line. To compile:
Code:
gcc -mycode.c -I /path/to/zlib/headers -L /path/to/zlib/shared_libraries

3. Finally you need to have added (or created) an environment variable LD_LIBRARY_PATH which knows where the special shared libraries live on a particular system.
Code:
export LD_LIBRARY_PATH={$LD_LIBRARY_PATH}:/path/to/zlib/shared_libraries

This has to be there (along with the zlib shared libraries in a directory) on every system
you want to run you code one. This is the biggest source of error for this kind of development.
You can find it because the ldd command does not know where zlib libraries are - meaning at runtime the link and run step fails. Which creates all kinds of user complaints and problems. This variable has to be created everywhere for every user who will execute the code. The LD_LIBRARY_PATH definition systemwide .profile file is a possible choice, it may have security issues.

Last edited by jim mcnamara; 05-16-2018 at 01:17 AM..
This User Gave Thanks to jim mcnamara For This Post:
 

10 More Discussions You Might Find Interesting

1. Programming

Shared Library

hello all I want to work in shared libraries how can i work in Linux Environment ? (2 Replies)
Discussion started by: rajashekaran
2 Replies

2. UNIX for Advanced & Expert Users

shared library

What is the primary difference between static library and dynamic library? and how to write static shared library? (1 Reply)
Discussion started by: areef4u
1 Replies

3. Programming

Shared memory in shared library

I need to create a shared library to access an in memory DB. The DB is not huge, but big enough to make it cumbersome to carry around in every single process using the shared library. Luckily, it is pretty static information, so I don't need to worry much about synchronizing the data between... (12 Replies)
Discussion started by: DreamWarrior
12 Replies

4. Programming

Using funcion in a shared library

Is there any way in C to access a function in C shared library. I have used dlopen to access /load the c shared library but unable to use the function in the shared object. Thanks in advance :b: (1 Reply)
Discussion started by: yhacks
1 Replies

5. Programming

Shared memory for shared library

I am writing a shared library in Linux (but compatible with other UNIXes) and I want to allow multiple instances to share a piece of memory -- 1 byte is enough. What's the "best" way to do this? I want to optimize for speed and portability. Obviously, I'll have to worry about mutual exclusion. (0 Replies)
Discussion started by: otheus
0 Replies

6. Shell Programming and Scripting

Suggestions/Recommendations for coding

#!/bin/sh #set -x uploaddir="/u01/app/informatica/dev3/sample/GPMDir/UploadDir" processdir="/u01/app/informatica/dev3/sample/GPMDir/ProcessDir" datetime=`date +%Y%m%d` logdir="$processdir/GPMLogFile_$datetime.log" echo "<---------------Start Copying & Moving GPM Files To Process... (0 Replies)
Discussion started by: Ariean
0 Replies

7. Shell Programming and Scripting

How to change a Makefile from building static library to shared library?

Hi: I have a library that it only offers Makefile for building static library. It built libxxx.a file. How do I in any way build a shared library? (either changin the Makefile or direct script or command to build shared library) Thanks. (1 Reply)
Discussion started by: cpthk
1 Replies

8. UNIX for Dummies Questions & Answers

Shared static library

Hello Please what does mean shared static library and LD-Preload? Thank you (3 Replies)
Discussion started by: chercheur857
3 Replies

9. Programming

Shared library with acces to shared memory.

Hello. I am new to this forum and I would like to ask for advice about low level POSIX programming. I have to implement a POSIX compliant C shared library. A file will have some variables and the shared library will have some functions which need those variables. There is one special... (5 Replies)
Discussion started by: iamjag
5 Replies

10. AIX

Add shared members from library to same library in a different directory

I'm trying to install libiconv to AIX 7.1 from an rpm off of the perzl site. The rpm appears to install but I get this error message. add shr4.o shared members from /usr/lib/libiconv.a to /opt/freeware/lib/libiconv.a add shr.o shared members from /usr/lib/libiconv.a to ... (5 Replies)
Discussion started by: kneemoe
5 Replies
ZLIB(3) 						     Library Functions Manual							   ZLIB(3)

NAME
zlib - compression/decompression library SYNOPSIS
[see zlib.h for full description] DESCRIPTION
The zlib library is a general purpose data compression library. The code is thread safe, assuming that the standard library functions used are thread safe, such as memory allocation routines. It provides in-memory compression and decompression functions, including integrity checks of the uncompressed data. This version of the library supports only one compression method (deflation) but other algorithms may be added later with the same stream interface. Compression can be done in a single step if the buffers are large enough or can be done by repeated calls of the compression function. In the latter case, the application must provide more input and/or consume the output (providing more output space) before each call. The library also supports reading and writing files in gzip(1) (.gz) format with an interface similar to that of stdio. The library does not install any signal handler. The decoder checks the consistency of the compressed data, so the library should never crash even in the case of corrupted input. All functions of the compression library are documented in the file zlib.h. The distribution source includes examples of use of the library in the files test/example.c and test/minigzip.c, as well as other examples in the examples/ directory. Changes to this version are documented in the file ChangeLog that accompanies the source. zlib is available in Java using the java.util.zip package: http://java.sun.com/developer/technicalArticles/Programming/compression/ A Perl interface to zlib, written by Paul Marquess (pmqs@cpan.org), is available at CPAN (Comprehensive Perl Archive Network) sites, including: http://search.cpan.org/~pmqs/IO-Compress-Zlib/ A Python interface to zlib, written by A.M. Kuchling (amk@magnet.com), is available in Python 1.5 and later versions: http://docs.python.org/library/zlib.html zlib is built into tcl: http://wiki.tcl.tk/4610 An experimental package to read and write files in .zip format, written on top of zlib by Gilles Vollant (info@winimage.com), is available at: http://www.winimage.com/zLibDll/minizip.html and also in the contrib/minizip directory of the main zlib source distribution. SEE ALSO
The zlib web site can be found at: http://zlib.net/ The data format used by the zlib library is described by RFC (Request for Comments) 1950 to 1952 in the files: http://tools.ietf.org/html/rfc1950 (for the zlib header and trailer format) http://tools.ietf.org/html/rfc1951 (for the deflate compressed data format) http://tools.ietf.org/html/rfc1952 (for the gzip header and trailer format) Mark Nelson wrote an article about zlib for the Jan. 1997 issue of Dr. Dobb's Journal; a copy of the article is available at: http://marknelson.us/1997/01/01/zlib-engine/ REPORTING PROBLEMS
Before reporting a problem, please check the zlib web site to verify that you have the latest version of zlib; otherwise, obtain the latest version and see if the problem still exists. Please read the zlib FAQ at: http://zlib.net/zlib_faq.html before asking for help. Send questions and/or comments to zlib@gzip.org, or (for the Windows DLL version) to Gilles Vollant (info@winim- age.com). AUTHORS
Version 1.2.7 Copyright (C) 1995-2012 Jean-loup Gailly (jloup@gzip.org) and Mark Adler (madler@alumni.caltech.edu). This software is provided "as-is," without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. See the distribution directory with respect to requirements governing redistribution. The deflate format used by zlib was defined by Phil Katz. The deflate and zlib specifications were written by L. Peter Deutsch. Thanks to all the people who reported problems and suggested various improvements in zlib; who are too numerous to cite here. UNIX manual page by R. P. C. Rodgers, U.S. National Library of Medicine (rodgers@nlm.nih.gov). 2 May 2012 ZLIB(3)
All times are GMT -4. The time now is 06:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy