13 votes

Comment vider conftest.c ?

J'ai des problèmes de liaison avec de nombreuses bibliothèques avec un compilateur croisé. Est-il possible de vider le fichier conftest.c dans un endroit sûr à chaque fois qu'il est généré ?

J'ai essayé de décommenter les lignes

rm -f conftest

du script de la configuration, mais il continue comme si cela ne voulait rien dire.

10voto

Alessandro Russo Points 161

Vérifiez le fichier config.log, il contient le programme qui a échoué. Quelque chose comme :

...
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "libogg"
| #define VERSION "1.2.2"
| /* end confdefs.h.  */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
...

1voto

Tristan Hill Points 171

Pour moi il imprime le code en cas d'échec mais pour le forcer j'ai créé un wrapper script :

#!/bin/sh

for i in "$@"; do
  if echo "$i" | grep -q '\.c$'; then
     echo printing $i
     cat "$i"
  fi
done

exec cc "$@"

Ensuite, exécutez avec

$ CC=$PWD/cc.sh ./configure

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X