utilizar parametros librerias con compile compilar compilador comando gcc ubuntu linker

librerias - parametros gcc



Problemas del enlazador en Ubuntu 11.10 (1)

g++ -lX11 -o test test.o

El comando anterior es incorrecto . Pruebe esto en su lugar:

g++ test.o -lX11

Explicación de por qué el orden importa aquí .

Además, nunca debe llamar a su test ejecutables en UNIX.

Después de actualizar a Ubuntu 11.10, descubrí que muchos de mis desarrollos antiguos y actuales ya no se pueden compilar. Reduje el problema a un simple ejemplo:

#include <X11/Xlib.h> int main() { Display* display = XOpenDisplay(":0.0"); XCloseDisplay(display); return 0; }

Compilando usando:

g++ -lX11 test.cpp

o

g++ -c -o test.o test.cpp g++ -lX11 -o test test.o

Causa que no suceda:

/tmp/ccBAOpzy.o: In function `main'': test.cpp:(.text+0x11): undefined reference to `XOpenDisplay'' test.cpp:(.text+0x21): undefined reference to `XCloseDisplay''

¿Algunas ideas? Descubrí que algunas cosas del enlazador han cambiado en 11.10:

https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition

Pero aún no explica estos problemas.