2010-11-13 4 views
0

Salut J'installe actuellement un logiciel appelé super LU et dans le fichier README il y a l'instruction suivante pour modifier un fichier makefile en fonction de la configuration du système.question sur les définitions du préprocesseur C

Définition du préprocesseur C CDEFS. Dans le fichier d'en-tête SRC/Cnames.h, nous utilisons des macros pour déterminer comment les routines C doivent être nommées afin qu'elles puissent être appelées par Fortran. (Certaines bibliothèques BLAS fournies par les fournisseurs n'ont pas d'interfaces C. Par conséquent, le nouveau nom est nécessaire pour que les appels SuperLU BLAS (en C) soient en interface avec le BLAS de style Fortran.) Les options possibles pour CDEFS sont: o -DAdd_: Fortran s'attend à ce qu'un sous-trait soit postfixé au nom; o -DNoChange: Fortran s'attend à ce qu'un nom de routine C soit identique à compilé par C; o -DUpCase: Fortran s'attend à ce que le nom d'une routine C soit entièrement en majuscules.

Un Makefile est fourni dans chaque sous-répertoire. L'installation peut être faite complètement automatiquement en tapant "make" au niveau le plus haut.

Je ne suis pas vraiment sûr de ce que cette instruction signifie. Laquelle de ces trois options devrais-je choisir?

Répondre

0

Essayez simplement de créer le logiciel qui exécute make au plus haut niveau. S'il existe des problèmes de liaison en raison de fonctions BLAS manquantes commencez à tester le caractère de soulignement. Commencez donc par NoChange, puis essayez Add_.