Articles of linker

¿Cómo puedo enlazar a una versión específica de glibc?

Cuando compilo algo en mi PC Ubuntu Lucid 10.04, se vincula con glibc. Lucid usa 2.11 de glibc. Cuando ejecuto este binario en otra PC con un glibc anterior, el comando falla diciendo que no hay glibc 2.11 … Hasta donde yo sé, glibc usa el control de versiones de símbolos. ¿Puedo forzar que gcc […]

Resolviendo LNK4098: defaultlib ‘MSVCRT’ entra en conflicto con

Esta advertencia: LINK : warning LNK4098: defaultlib ‘MSVCRT’ conflicts with use of other libs; use /NODEFAULTLIB:library es una advertencia bastante común en Visual Studio. Me gustaría entender la razón exacta y la forma correcta (si es que lo hace) para manejarlo. Esto aparece en una comstackción de depuración, comstackda con /MDd . El proyecto está […]

¿Cuáles son las opciones de línea de comando –start-group y -end-group?

¿Cuál es el propósito de esas opciones de línea de comando? Por favor ayuda a descifrar el significado de la siguiente línea de comando: -Wl,–start-group -lmy_lib -lyour_lib -lhis_lib -Wl,–end-group -ltheir_lib Aparentemente tiene algo que ver con la vinculación, pero el manual de GNU es silencioso, lo que significa exactamente agrupar.

Limitar la visibilidad de los símbolos al vincular bibliotecas compartidas

Algunas plataformas exigen que proporcione una lista de símbolos externos de una biblioteca compartida al vinculador. Sin embargo, en la mayoría de los sistemas unixish eso no es necesario: todos los símbolos no estáticos estarán disponibles por defecto. Según tengo entendido, la cadena de herramientas de GNU puede restringir opcionalmente la visibilidad solo a símbolos […]

Vinculación de bibliotecas estáticas con otras bibliotecas estáticas

Tengo un pequeño fragmento de código que depende de muchas bibliotecas estáticas (a_1-a_n). Me gustaría empaquetar ese código en una biblioteca estática y ponerlo a disposición de otras personas. Mi biblioteca estática, llamémosla X, comstack bien. Creé un progtwig de ejemplo simple que usa una función de X, pero cuando trato de vincularlo con X, […]

¿Qué sucede con las variables globales y estáticas en una biblioteca compartida cuando se vincula dinámicamente?

Estoy tratando de entender qué sucede cuando los módulos con variables globales y estáticas están vinculados dinámicamente a una aplicación. Por módulos, me refiero a cada proyecto en una solución (¡trabajo mucho con Visual Studio!). Estos módulos están integrados en * .lib o * .dll o en * .exe en sí. Entiendo que el binario […]

¿Cómo puedo hacer un .exe completamente vinculado de forma estática con Visual Studio Express 2005?

Mi entorno actual preferido de C ++ es la edición gratuita y en gran medida excelente de Microsoft Visual Studio 2005 Express. De vez en cuando, he enviado archivos .exe de lanzamiento a otras personas con resultados agradables. Sin embargo, recientemente hice el inquietante descubrimiento de que los resultados agradables se basaban en más suerte […]

¿Qué hace la bandera del enlazador -toda_carga?

No puedo encontrar en ningún lado lo que hace el distintivo -todo_carga al comstackr el código Objective-C. Tengo algunos problemas al subir binarios a Apple, dicen que es porque no usé esta bandera, pero mi código comstack incluso sin ella. ¿Puede alguien ayudarme con eso? Gracias

Extraño error de enlace: falta DSO en la línea de comandos

Cuando estoy comstackndo openvswitch-1.5.0, me he encontrado con el siguiente error de comstackción: gcc -Wstrict-prototypes -Wall -Wno-sign-compare -Wpointer-arith -Wdeclaration-after-statement -Wformat-security -Wswitch-enum -Wunused-parameter -Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -Wno-override-init -g -O2 -export-dynamic ***-lpthread*** -o utilities/ovs-dpctl utilities/ovs-dpctl.o lib/libopenvswitch.a /home/jyyoo/src/dpdk/build/lib/librte_eal.a /home/jyyoo/src/dpdk/build/lib/libethdev.a /home/jyyoo/src/dpdk/build/lib/librte_cmdline.a /home/jyyoo/src/dpdk/build/lib/librte_hash.a /home/jyyoo/src/dpdk/build/lib/librte_lpm.a /home/jyyoo/src/dpdk/build/lib/librte_mbuf.a /home/jyyoo/src/dpdk/build/lib/librte_ring.a /home/jyyoo/src/dpdk/build/lib/librte_mempool.a /home/jyyoo/src/dpdk/build/lib/librte_malloc.a -lrt -lm /usr/bin/ld: /home/jyyoo/src/dpdk/build/lib/librte_eal.a(eal.o): undefined reference to symbol […]

¿Por qué es importante el orden de la opción ‘-l’ en gcc?

Estoy intentando comstackr un progtwig que usa la biblioteca udis86 . En realidad estoy usando un progtwig de ejemplo dado en el manual de usuario de la biblioteca. Pero al comstackr, da error. Los errores que obtengo son: example.c:(.text+0x7): undefined reference to ‘ud_init’ example.c:(.text+0x7): undefined reference to ‘ud_set_input_file’ . . example.c:(.text+0x7): undefined reference to ‘ud_insn_asm’ […]