Bonjour a tous,

j¨ai un petit sousci avec un bout de code qui fonctionnais TRES bien avec gcc 3.3.X sous linux redhat,, mais maintenant j´ai installer un autre version de redhat (ES 4) sur un autre systeme qui vient avec gcc 3.4.2 maintenant ce bout de code, compile mais fonctionne tout croche, au lieu de me sortir le path demander et inscrit and mon paths.h il me sort seulement / (root directory), ca fait 3 jours que je travail exclusivement sur ce probleme, et je n´arive pas a comprendre..... voici le code

pour ma procedure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 void init_dblib_paths(void)
  {
  	string p;
 	dblib_paths.clear();
  	p = LIB_DIR;
  	dblib_paths.push_back(p);
  }
et voici ce que j´ai dans mon main

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
 
init_dblib_paths();
	        // Loading db driver
          void* libh = NULL;
          // Add local subdirectory for ability to run from build directory
          string p; p = "./" + DBType + "/.libs";
          dblib_paths.push_back(p);
 
  	for (int i = dblib_paths.size() - 1; i >= 0; i--)
  	{
  		string libfile = dblib_paths[i];
  		libfile += "/lib" + DBType + "db-" VERSION ".so";
  		if ((libh = dlopen(libfile.c_str(), RTLD_NOW)) != NULL)
  		{
  			logger.log(CAT_FILE, L_DEBUG, "Loaded DB backend "
  					"from %s\n", libfile.c_str());
  			break;
  		}
  	}
  	if (!libh) {
  		logger.log(CAT_FILE, L_ERROR, "Can't load DB driver: %s\n", dlerror());
  		exit(1);
  	}
  	dblib_paths.clear();
je n´arrive vraiment pas a comprendre le pourquoi que tout d´un coup ca ne fonctionne plus, est-ce le parser du gcc 3.4.2 qui me fait le coup..????

merci