Articles of linker

Como fazer um trabalho de links fracos com o GCC?

Parece haver 3 maneiras de dizer ao GCC que o link fraco é um símbolo: __attribute__((weak_import)) __attribute__((weak)) #pragma weak symbol_name Nada disso funciona para mim: #pragma weak asdf extern void asdf(void) __attribute__((weak_import, weak)); … { if(asdf != NULL) asdf(); } Eu sempre recebo um erro de link como este: Símbolos indefinidos: “_asdf”, referenciado de: _asdf […]

Por que meus compiladores não estão impedindo inclusões de múltiplas definições?

Eu tenho um arquivo de header xh que é incluído por mais de um arquivo de origem * .c. Este arquivo de header tem algumas variables ​​de estrutura definidas. Eu coloquei vários guarda de prevenção de inclusão no início do arquivo de header como: #ifndef X_H #define X_H … .. //header file declarations and definitons. […]

Erro do vinculador MinGW: winsock

Eu estou usando o compilador MinGW no Windows para compilar meu aplicativo C ++ com sockets. Meu comando para vincular parece: g++.exe -Wall -Wno-long-long -pedantic -lwsock32 -o dist/Windows/piskvorky { there are a lot of object files } e eu também tentei g++.exe -Wall -Wno-long-long -pedantic -lws2_32 -o dist/Windows/piskvorky { there are a lot of object […]

O estado dos vinculadores para aplicativos .NET (também conhecido como “Por favor, senhor, posso ter um vinculador” edição 2009)

Muitas pessoas aqui provavelmente estão familiarizadas com um dos posts mais populares de Joel Spolsky , Por favor , senhor, eu posso ter um vinculador , onde ele clama por uma maneira de remover dependencies no .NET framework para que um aplicativo autônomo possa ser desenvolvido e vendido. Jason Zander da equipe de desenvolvimento do […]

como vincular biblioteca (por exemplo, CUBLAS, CUSPARSE) para CUDA no windows

Eu estou tentando compilar um programa cuda que usa biblioteca cusparse. Estou ficando ligando erro: kernel.cu.obj : error LNK2019: unresolved external symbol _cusparseSetMatIndexBase@8 referenced in function _main E muito erro do mesmo tipo relacionado à biblioteca cusparse. Eu incluí “cusparse_v2.h”. Como faço para vincular a biblioteca cusparse no visual studio 2010 durante a compilation?

CMake: use um vinculador personalizado

Eu quero configurar um conjunto de ferramentas personalizado com o qmake. Eu configurei o compilador, mas não sei como definir o vinculador. Este erro é relatado porque o cmake tenta usar o compilador para vincular: The C compiler “xgcc.exe” is not able to compile a simple test program. Aqui há um trecho do meu arquivo […]

O que os linkers fazem?

Eu sempre me perguntei. Eu sei que os compiladores convertem o código que você escreve em binários, mas o que os linkers fazem? Eles sempre foram um mistério para mim. Eu mais ou menos entendo o que ‘link’ é. É quando referências a bibliotecas e estruturas são adicionadas ao binário. Eu não entendo nada além […]

arquivo crti.o faltando

Eu estou construindo um projeto usando uma cadeia de ferramentas GNU e tudo funciona bem até eu começar a vinculá-lo, onde o linker reclama que está faltando / não consigo encontrar crti.o Este não é um dos meus arquivos de object, parece estar relacionado à libc, mas não consigo entender por que ele precisaria desse […]

Qual é a opção -fPIE para executáveis ​​independentes de posição no gcc e ld?

Como isso mudará o código, por exemplo, chamadas de function?

Por que erro fatal “LNK1104: não é possível abrir o arquivo ‘C: \ Program.obj’” ocorre quando eu compilo um projeto C ++ no Visual Studio?

Eu criei um novo projeto C ++ no Visual Studio 2008. Nenhum código foi escrito ainda; Apenas as configurações do projeto foram alteradas. Quando eu compilo o projeto, recebo o seguinte erro fatal: erro fatal LNK1104: não é possível abrir o arquivo ‘C: \ Program.obj’