dopo l'aggiornamento a Ubuntu 11.10, ho scoperto che molti dei miei vecchi e attuali sviluppi non possono più essere compilati. Ho ridotto il problema ad un semplice esempio:Problemi di linker in Ubuntu 11.10
#include <X11/Xlib.h>
int main() {
Display* display = XOpenDisplay(":0.0");
XCloseDisplay(display);
return 0;
}
compilazione utilizzando:
g++ -lX11 test.cpp
o
g++ -c -o test.o test.cpp
g++ -lX11 -o test test.o
causa un errore per accadere:
/tmp/ccBAOpzy.o: In function `main':
test.cpp:(.text+0x11): undefined reference to `XOpenDisplay'
test.cpp:(.text+0x21): undefined reference to `XCloseDisplay'
Qualche idea? Ho scoperto che alcune cose linker è cambiato in 11.10:
https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition
Ma ancora non spiega questi problemi.
È necessario aver installato il pacchetto dev di X11 libx11-dev in precedenza. – boto
@boto Lo so. In realtà, il problema era nell'ordine dei parametri. Ubuntu 11.10 contiene GCC 4.6.1, che apparentemente introduce vincoli di ordinamento dei parametri più stringenti. g ++ test.cpp -lX11 funziona bene. – cyberguijarro
Ora vediamo come posso far funzionare SCons ... – cyberguijarro