Articles of linker

Como posso criar um link para uma versão específica da glibc?

Quando eu compilo algo no meu Ubuntu Lucid 10.04 PC, ele é ligado ao glibc. Lucid usa 2,11 da glibc. Quando eu executo este binário em outro PC com um glibc mais antigo, o comando falha dizendo que não há nenhum glibc 2.11 … Tanto quanto eu sei, a glibc usa o version control de […]

Resolvendo conflitos LNK4098: defaultlib ‘MSVCRT’ com

Este aviso: LINK : warning LNK4098: defaultlib ‘MSVCRT’ conflicts with use of other libs; use /NODEFAULTLIB:library é um aviso bastante comum no Visual Studio. Eu gostaria de entender a razão exata para isso e o caminho certo (se for o caso) para lidar com isso. Isso vem em uma compilation de debugging, compilada com /MDd […]

Quais são as opções de linha de comando –start-group e –end-group?

Qual é o propósito dessas opções de linha de comando? Por favor, ajude a decifrar o significado da seguinte linha de comando: -Wl,–start-group -lmy_lib -lyour_lib -lhis_lib -Wl,–end-group -ltheir_lib Aparentemente, tem algo a ver com linkar, mas o manual do GNU é silencioso, o que exatamente significa agrupamento.

Limitando a visibilidade de símbolos ao vincular bibliotecas compartilhadas

Algumas plataformas exigem que você forneça uma lista de símbolos externos de uma biblioteca compartilhada ao vinculador. No entanto, na maioria dos sistemas unixish isso não é necessário: todos os símbolos não-estáticos estarão disponíveis por padrão. Meu entendimento é que o conjunto de ferramentas GNU pode, opcionalmente, restringir a visibilidade apenas aos símbolos explicitamente declarados. […]

g ++ referência indefinida para typeinfo

Acabei de encontrar o seguinte erro (e encontrei a solução online, mas ela não está presente no Stack Overflow): (.gnu.linkonce. [stuff]): referência indefinida a [method] [arquivo object] :(. gnu.linkonce. [stuff]): referência indefinida a `typeinfo para [classname] ‘ Por que alguém pode obter um desses erros de vinculador de “referência indefinida para o tipo”? (Pontos de […]

Vinculando bibliotecas estáticas a outras bibliotecas estáticas

Eu tenho um pequeno pedaço de código que depende de muitas bibliotecas estáticas (a_1-a_n). Gostaria de empacotar esse código em uma biblioteca estática e disponibilizá-lo para outras pessoas. Minha biblioteca estática, vamos chamá-lo de X, compila bem. Eu criei um programa de amostra simples que usa uma function do X, mas quando tento vinculá-lo ao […]

Erros do GCC C ++ Linker: Referência indefinida para ‘vtable for XXX’, Referência indefinida para ‘ClassName :: ClassName ()’

Estou configurando um projeto C ++, no Ubuntu x64, usando o Eclipse-CDT. Eu basicamente estou fazendo um olá mundo e ligando para uma biblioteca comercial de terceiros. Eu incluí os arquivos de header, vinculados a suas bibliotecas, mas ainda recebo erros de vinculação. Existem alguns problemas possíveis aqui, além do óbvio (por exemplo, tenho 99% […]

O que acontece com variables ​​globais e estáticas em uma biblioteca compartilhada quando está dinamicamente vinculado?

Estou tentando entender o que acontece quando módulos com variables ​​globais e estáticas são dinamicamente vinculados a um aplicativo. Por módulos, quero dizer cada projeto em uma solução (eu trabalho muito com o visual studio!). Estes módulos são construídos em * .lib ou * .dll ou no próprio * .exe. Eu entendo que o binário […]

Como o link C ++ funciona na prática?

Como o link C ++ funciona na prática? O que estou procurando é uma explicação detalhada sobre como a vinculação acontece, e não quais comandos fazem a vinculação. Já existe uma pergunta semelhante sobre compilation que não entra em muitos detalhes: como funciona o processo de compilation / vinculação?

O que o sinalizador de link -all_load faz?

Eu não consigo encontrar em qualquer lugar o que o sinalizador -all_load faz ao compilar o código Objective-C. Eu tenho alguns problemas para fazer o upload de binários para a Apple, eles dizem que é porque eu não usei esse sinalizador, mas meu código compila mesmo sem ele. Alguém pode me ajudar com isso? obrigado