Ich möchte einige sehr grundlegende Testcode kompilieren die log-Funktion aufrufen und dann das Ergebnis auf der Standard-Ausgabe unter Linux, mit dem Intel C Compiler. Ich will, dass der Code gegen libimf (Intels Math-Funktionen-Bibliothek) und nicht der GNU-libm verbunden ist, so dass ich sicher sein kann, welche log
-Funktion aufgerufen wird.Wie man nicht mit libm verbindet mit Intel C Compiler
Bisher habe ich es geschafft, mit libimf.so mit -limf
zu verknüpfen, aber icc
Links gegen libm.so mit -lm
standardmäßig. Ich möchte das vermeiden. Wie soll ich vorgehen?
ein Schuss im Dunkeln gesetzt und exportieren , haben Sie versucht, die Umgebungsvariable LD_LIBRARY_PATH zu setzen? –
Ja, obwohl ich es nicht exportiert habe. Jetzt kann ich die Variable exportieren, ich kann mit '-limf' verlinken und' ldd' zeigt 'libimf.so' wie erwartet an. Aber ich möchte nicht standardmäßig mit '-lm' verlinken, da es jetzt schwer ist zu sagen, welches 'log' ich anrufe! – hdl
Einstellung/Export LD_LIBRARY_PATH überschreibt andere Bibliotheken. Angenommen, Sie haben einen Dateinamen libX.so in/home, und es gibt auch einen Dateinamen libX.so in/lib, nach dem Setzen/Exportieren der env-Variable verwendet der Compiler den Pfad im env-Variablenpfad. –