Salut tout le monde,
Voila, j'ai un petit fichier c qui fait ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef _HPUX_SOURCE
#include <dl.h>
#else
#include <dlfcn.h>
#endif
....
char name[10+1];
/* chargement ... */
	handle = dlopen(data.lib,RTLD_NOW);
	if (!handle)
	{
		errstr = dlerror();
		if (errstr != NULL)
			fprintf(stdout,"lib could not be loaded(%s)\n",data.lib,errstr);
		else
			fprintf(stdout,"lib could not be loaded\n",data.lib);
		return uxspv_strerror(ERROR,NULL);
	}
 
	/* Recherche la fonction de la librairie */
	ptr_u_get_func = (void (*)(char *)) dlsym(handle,"u_get_name");
	if (!ptr_u_get_func)
	{
		if (handle)	  
			dlclose(handle);
 
		fprintf(stdout,"The function (u_get_name) of the library could not be loaded.\n");
		return uxspv_strerror(UNKNOWN,NULL);
 
	}
 
	(*ptr_u_get_func)(name);
Le problème c'est que quand j'essaye de compiler ce fichier sur HPUX (10 ou 11) avec CC (j'ai pas gcc), j'ai ces erreurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
cc: "../src/load.c", line 140: error 1588: "RTLD_NOW" undefined.
cc: "../src/load.c", line 140: warning 527: Integral value implicitly converted to pointer in assignment.
cc: "../src/load.c", line 143: warning 527: Integral value implicitly converted to pointer in assignment.
*** Error exit code 1
voilà mes options de compilations (sur hp10):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
LFLAGS=-Aa -v +Z -D_HPUX_SOURCE -D_OPT_THREAD
CFLAGS=-Ae
LDFLAGS=-L/usr/bin -lm -lc -lrfc -lBSD -lDCE -ldl
Quelqu'un peut me dire ce qui va pas, ce que j'ai oublié ?

Merci