Comment installer MPFR et GMP pour C ++ sur Visual Studio

Si je comprends bien, je devrais d’abord installer GMP. Le seul tutoriel que j’ai trouvé à cet effet est http://cs.nyu.edu/exact/core/gmp/ et lorsque j’atteins l’étape 3: “Ouvrez le fichier gmp.dsw (gmp.vcproj pour VC ++. Net) pour créer GMP”. Je reçois beaucoup d’erreurs de construction. Vous pouvez le télécharger ici: http://www.f2h.co.il/msbz68nzzip . Il existe de nombreuses erreurs telles que “Erreur fatale C1083: Impossible d’ouvrir le fichier à inclure: ‘fib_table.h’: Aucun fichier ou répertoire de ce type”.

Existe-t-il un autre tutoriel? Que devrais-je faire?

J’utilise Visual Studio 2010 sur Windows 7.

J’ai rencontré un problème similaire et je venais de le résoudre en téléchargeant les bibliothèques précompilées MPIR et MPFR au lieu de GMP qui nécessite mingw ou similaire sous Windows.

Voici le lien de ma solution: Comment installer MPFR avec Visual studio 2008/2010

J’espère que cette aide

Maintenant, une solution parfaite par @casevh peut être trouvée ici: Construire mpir / mpfr / mpc via VC ++

Comment configurer Visual Studio 2015 Project avec MPFR

Ce guide vous aidera à démarrer avec un projet VS utilisant MPFR et MPIR (un port Windows de GMP) en utilisant des fichiers binarys pré-construits. (Voici un lien vers un projet VS et les fichiers binarys téléchargés que je mentionne: https://dl.dropboxusercontent.com/u/90643534/MPFR-VSProj.zip )

Obtenir les fichiers binarys précompilés

  • Obtenez les fichiers pré-compilés à partir de: http://www.holoborodko.com/pavel/mpfr/#projects

    • mpfr_mpir_x86_x64_msvc2010 (mpfr précompilé avec MSVC 2010

      Depuis qu’il a été compilé avec MSVC 2010, il nécessite Microsoft Visual C ++ 2010 * Redissortingbuable. Si nous essayons d’exécuter le programme en mode débogage, nous ne le pourrons pas. nous aurons cette erreur: ” Le programme ne peut pas démarrer car MSVCP100.dll est missin de votre ordinateur “. Pour l’essentiel, MSVCP100.dll fait partie de l’installation de Visual Studio 2010, mais pas de Redissortingbutable, qui ne contient que les dll nécessaires aux versions finales des versions.

      • REMARQUE: Visual Studio permet toujours de déboguer dans la configuration de la version. Le débogage n’est donc pas un gros problème à ce stade, alors que vous essayez simplement de démarrer et d’exécuter.
    • mpfrc ++ – 3.6.2 (wrapper c ++ de Holoborodko)

      NOTE: ces binarys datent de quelques années mais ils sont testés et “relativement sans bug”

Paramètres du projet Visual Studio:

  1. Changez la configuration en “Release, x86”

    Ceci est nécessaire pour commencer car il nous manque les dlls de débogage dans le Redissortingbutable 2010 (aurait dû être installé dans le cadre de l’installation de VS)

  2. Créez un dossier ‘libs’ et ‘include’ dans le répertoire $ (SolutionDir) (répertoire de niveau supérieur où la solution est conservée.
  3. Copiez les bons fichiers dans ces dossiers:
    • mpfr_mpir_x86_x64_msvc2010 :
      • Depuis les dossiers ‘Win32> Release’ pour mpfr et mpir
      • Copiez les fichiers * .dll, * .exp, * .lib et * .pdb dans le répertoire $ (SolutionDir) / lib
      • Tous les fichiers d’en-tête dans le répertoire $ (SolutionDir) / include
    • mpfrc ++ – 3.6.2
      • Ajoutez mpreal.h à votre projet (ou dans $ (SolutionDir) / include si vous préférez)
      • L’en-tête est tout ce dont vous avez besoin pour le wrapper c ++
  4. Indique au VS où chercher les nouveaux répertoires “include” et “lib”

    Propriétés de configuration> Répertoires VC ++

    • Répertoires d’inclusion: ajoutez le chemin d’access à votre répertoire d’inclusion
    • Répertoires de bibliothèque: ajoutez un chemin à votre répertoire lib
  5. Lier les fichiers * .lib de la lib

    Propriétés de configuration> Éditeur de liens> Entrée> Dépendances supplémentaires

    • Ajoutez ce qui suit à cette liste: mpfr.lib; mpir.lib;
  6. A l’aide des options du compilateur, changez la bibliothèque d’exécution:

    Propriétés de configuration> C / C ++> Génération de code> Bibliothèque d’exécution

    • sélectionnez “DLL multithread (/ MD)”
  7. Définissez les arguments du compilateur pour la construction:

    Propriétés de configuration> Débogage> Arguments de commande

    • append: “-lmpfr -lgmp”
  8. Forcer les DLL à être copiées dans le répertoire de sortie

    Propriétés de configuration> Evénements de génération> Evénement post-génération

    • Ligne de commande: ‘XCOPY “$ (SolutionDir) lib * .dll” “$ (TargetDir)” / D / K / Y’
    • Description: ‘Copier les DLL dans le répertoire cible’
    • Utiliser dans la construction: OUI
  9. Dites à VS de nettoyer les DLL lorsqu’il nettoie un dossier de sortie:

    Propriétés de configuration -> Général -> Extensions à supprimer lors du nettoyage

    • append: ‘* .dll’
  10. Pour tester votre projet, copiez le main () de “exemple / exemple.cpp” du dossier mpfrc ++ – 3.6.2.

    • Assurez-vous d’append un fichier include à votre fichier mpreal.h après votre inclusion stdafx.h.

Articles SO utiles:

  • Comment inclure des bibliothèques dans Visual Studio 2012?
  • Comment utiliser un fichier DLL tiers dans Visual Studio C ++?
  • Dois-je comstackr avec / MD ou / MT?