Articles of linker

gcc non includerà correttamente math.h

Ecco un esempio minimale che illustra il mio problema test.c: #include #include main () { fmod ( 3, 2 ); } Ed ecco il comando che sto emettendo per compilare test.c gcc -lm test.c -o test Ed ecco l’output che ottengo quando rilascio il comando sopra /tmp/ccQmRk99.o: In function `main’: test.c:(.text+0x3e): undefined reference to `fmod’ […]

Come link statico su OS X

Sto cercando di collegarmi a una libreria statica su OS X. Ho usato il flag -static nel comando gcc ma ho ricevuto il seguente messaggio di errore: ld_classic: imansible trovare il file per: -lcrt0.o collect2: ld ha restituito 1 stato di uscita Ho guardato nelle pagine man e si legge qualcosa come: Questa opzione non […]

Perché ottengo l’errore “riferimento non definito a sqrt” anche se includo l’intestazione math.h?

Sono molto nuovo di C e ho questo codice: #include #include int main(void) { double x = 0.5; double result = sqrt(x); printf(“The square root of %lf is %lf\n”, x, result); return 0; } Ma quando lo compilo con: gcc test.c -o test Ottengo un errore come questo: /tmp/cc58XvyX.o: In function `main’: test.c:(.text+0x2f): undefined reference […]

“/ Usr / bin / ld: imansible trovare -lz”

Sto cercando di compilare il codice sorgente Android sotto Ubuntu 10.04. Ottengo un errore dicendo / usr / bin / ld: imansible trovare -lz Per favore, dimmi come posso ripararlo? Cosa non cannot find -lz significa? Ecco il messaggio di errore completo: external/qemu/Makefile.android:1101: warning: overriding commands for target `external/qemu/android/avd/hw-config-defs.h’ external/qemu/Makefile.android:933: warning: ignoring old commands for […]

Quando / Come funziona Linux carica le librerie condivise nello spazio degli indirizzi?

La mia domanda è la seguente: Quando è l’indirizzo degli oggetti condivisi specificato nei programmi? Durante il collegamento? Caricamento in corso? Se volessi trovare l’indirizzo di memoria del comando di system all’interno di libc all’interno del mio programma potrei trovarlo facilmente in gdb , ma cosa succede se non voglio portare il programma in un […]

Perché l’errore irreversibile “LNK1104: imansible aprire il file ‘C: \ Program.obj'” si verifica quando compilo un progetto C ++ in Visual Studio?

Ho creato un nuovo progetto C ++ in Visual Studio 2008. Nessun codice è stato ancora scritto; Sono state modificate solo le impostazioni del progetto. Quando compilo il progetto, ricevo il seguente errore fatale: errore fatale LNK1104: imansible aprire il file ‘C: \ Program.obj’

Come specificare la preferenza del percorso della libreria?

Sto compilando un programma c ++ usando g++ e ld . Ho una libreria .so che voglio essere usata durante il collegamento. Tuttavia, esiste una libreria con lo stesso nome in /usr/local/lib , e ld sta scegliendo quella libreria su quella che sto specificando direttamente. Come posso risolvere questo? Per gli esempi di seguito, il […]

Riferimento non definito a ‘pthread_create’ – ordine opzione comando linker (librerie prima / dopo file object?)

Quando provo a compilarlo, ricevo un particolare errore. Ma non è ansible perché uso la bandiera giusta. In server.c c’è la libreria pthread.h . Quindi, come posso risolvere il mio problema di collegamento? Sto usando Linux (Ubuntu). make gcc -c -Wall -Wunused -ansi -pedantic -ggdb -o Server1.o Server.c gcc -c -Wall -Wunused -ansi -pedantic -ggdb […]

Errore di riferimento non definito per il metodo template

Questo mi ha fatto impazzire per l’ultima ora e mezza. So che è una cosa piccola ma non riesco a trovare cosa c’è che non va (il fatto che sia un piovoso venerdì pomeriggio, ovviamente, non aiuta). Ho definito la seguente class che conterrà i parametri di configurazione letti da un file e mi consentirà […]

g ++ che collega la dipendenza degli ordini quando si collega il codice c al codice c ++

Prima di oggi avevo sempre creduto che l’ordine che oggetti e librerie fossero passati a g ++ durante la fase di collegamento non era importante. Poi, oggi, ho provato a colbind dal codice c ++ al codice c. Ho avvolto tutte le intestazioni C in un blocco “C” esterno, ma il linker ha ancora avuto […]