après la mise à niveau vers Ubuntu 11.10, j'ai constaté que beaucoup de mes développements anciens et actuels ne peuvent plus être compilés. J'ai réduit le problème à un exemple simple:Problèmes de liaison dans Ubuntu 11.10
#include <X11/Xlib.h>
int main() {
Display* display = XOpenDisplay(":0.0");
XCloseDisplay(display);
return 0;
}
à l'aide Compiler:
g++ -lX11 test.cpp
ou
g++ -c -o test.o test.cpp
g++ -lX11 -o test test.o
provoque une défaillance de se produire:
/tmp/ccBAOpzy.o: In function `main':
test.cpp:(.text+0x11): undefined reference to `XOpenDisplay'
test.cpp:(.text+0x21): undefined reference to `XCloseDisplay'
Des idées? J'ai trouvé que des trucs éditeur de liens a changé 11,10:
https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition
Mais n'explique pas ces problèmes.
Vous devriez avoir installé le paquet de développement X11 libx11-dev avant. – boto
@boto Je le sais. En fait, le problème était dans l'ordre des paramètres. Ubuntu 11.10 embarque GCC 4.6.1, qui introduit apparemment des contraintes d'ordre plus strictes. g ++ test.cpp -lX11 fonctionne correctement. – cyberguijarro
Voyons maintenant comment je peux faire fonctionner les SCons ... – cyberguijarro