2010-11-24 40 views
6

Je suis en train de compiler un programme en c/C++, mais je reçois le message d'erreur:problème Débutant avec le compilateur gcc 4.2 (Mac OSX): fpu_control.h: Aucun fichier ou répertoire

fpu_control.h: De tels fichiers ou répertoires

De google, j'ai découvert que ce problème concerne la façon dont la précision du virgule flottante est gérée. J'ai lu que toutes les distributions de gcc ne comprennent pas fpu_control.h.

C'est la seule chose que je peux trouver. J'ai beaucoup cherché et je ne trouve nulle part où télécharger fpu_control.h. Quelqu'un peut-il aider?

Merci à tous.

+4

Comme écrit, votre question ne répond pas. Qu'est-ce que vous essayez d'accomplir avec 'fpu_control.h'? Ce n'est pas un en-tête standard, mais en fonction de ce que vous voulez faire, il peut y avoir des en-têtes standard qui vous aident à accomplir cela, par exemple 'fenv.h'. –

+0

Il est nécessaire par un programme que j'essaye de compiler. Il s'agit apparemment d'une précision en virgule flottante, ce qui est un problème important pour le programme. En ce qui concerne sa fonction spécifique, je ne sais pas. D'après ce que je peux trouver sur google, de nombreux compilateurs l'ont mais le mien (gcc 4.2) ne l'a pas. Je l'ai googlé dans l'espoir de le trouver, mais pas de chance. – Ant

Répondre

5

Apple ne prend pas en charge la définition des indicateurs FPU et doing so isn't needed. La raison en est que they don't even use the i387 coprocessor for float and double, but SSE. La dernière référence explique également comment revenir à cette approche et comment effectuer un contrôle FPU à l'aide de l'assemblage en ligne.

+0

Merci beaucoup Martin. Ces liens semblent utiles. Désolé, je ne suis pas assez important sur Stack Overflow pour vous voter! – Ant

+0

Si cette réponse est effectivement satisfaisante, il est conventionnel de la marquer comme acceptée (la case à cocher then-green). –

0

fpu_control.h n'est pas un en-tête Mac OSX. Le code que vous essayez de compiler n'a pas été conçu pour être compilé sous OSX, évidemment. Vous devrez commenter cette fonctionnalité ou la remplacer dans votre propre en-tête (potentiellement appelé fpu_control.h pour plus de facilité).

+0

Merci Goz. J'ai essayé de le commenter, mais c'est un problème parce que la précision en virgule flottante est un gros problème dans le programme. Ce n'était pas destiné à être compilé sous OSX, mais le créateur pense que cela peut être fait. Merci de votre aide. – Ant