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
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 void init_dblib_paths(void) { string p; dblib_paths.clear(); p = LIB_DIR; dblib_paths.push_back(p); }
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..????
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();
merci
Partager