Problème d'utilisation de librairies avec Visual Studio

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous,

Je suis très très débutante en programmation et j’ai choisi de commencer par le cours de C++ moderne présent sur ce site.

Je suis arrivée au III - 5, l’installation de bibliothèques externes, à savoir boost et SFML. J’ai suivi les instructions pas à pas (pour visual studio).

Mais au moment de faire le test de fin, que ce soit pour l’une ou pour l’autre, le débogeur me signale une erreur dès la première ligne: E1696 impossible d’ouvrir le fichier source.

J’ai pourtant mis le bon chemin d’accès dans les paramètres du projet, recommencé plusieurs fois, chercher sur le net et le forum… je ne comprends toujours pas quelle erreur j’ai commise.

Quelqu’un pourrait-il m’aider s’il vous plait? Merci d’avance.

PS: c’est mon premier post, si je ne fais pas comme il faut ou s’il manque des éléments, n’hésitez pas à me le signaler.

Salut informaticienzero,

J’ai copier/coller les codes source inscrits sur le site, pour boost par exemple c’est celui-là:

#include <boost/log/trivial.hpp>

int main()
{
    BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
    BOOST_LOG_TRIVIAL(debug) << "A debug severity message";
    BOOST_LOG_TRIVIAL(info) << "An informational severity message";
    BOOST_LOG_TRIVIAL(warning) << "A warning severity message";
    BOOST_LOG_TRIVIAL(error) << "An error severity message";
    BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";

    return 0;
}

Avec la bibliothèque standard ou les fichiers .hpp tout fonctionne bien, il "trouve" les #include, mais avec les deux bibliothèques installés non.

Désolé si je n’utilise pas encore le bon langage… ça va venir en pratiquant.

Je n’ai jamais rencontré cette erreur, c’est vrai que c’est étrange. Est-ce que tu utiles Visual Studio 2017 ou 2019 ? Il se peut qu’il y ait quelques détails qui ont changé entre temps.

Est-ce que tu as bien installé les deux versions de Boost, à savoir 32 bits et 64 bits ? Est-ce que les dossiers où sont installées les bibliothèques Boost et SFML sont accessibles en lecture par Visual Studio ? Il y a peut-être un problème de permissions.

J’utilise Visual Studio 2019 et j’ai bien installé les deux versions. Je pense que les dossiers sont accessibles en lecture (quand je regarde les propriétés tout est cochés en autorisé).

Je vais essayer avec une autre bibliothèque, mais j’ai peur que ça donne le même résultat. Puis je vais essayer de désinstaller Visual Studio et de réinstaller une version précédente… Je pense qu’il n’est pas paramétré comme il faut, mais il est encore trop complexe pour moi.

Je reviendrai vous dire ce qu’il en est.

Encore merci de prendre le temps de me répondre.

Bonjour,

Alors j’ai installé wxWidgets et j’ai toujours le même problème, il ne trouve pas les librairies (ni manuellement, ni via le fichier .props). J’ai désinstallé Visual Studio 2019, mais je ne trouve pas la version 2017, tous les liens sont inactifs ou renvois vers la version 2019. J’ai donc réinstallé cette version, mais pas de changement en réutilisant mes solutions.

J’ai donc supprimé tous mes projets et j’ai recommencé.

Pour SFML ça y est ça fonctionne.

Pour Boost, il trouvait les #include mais j’avais pas téléchargé la bonne version (le compilateur cherchait "boost_log-vc142-mt-gd-x32–1_75.lib" et j’avais "boost_log-vc141-mt-gd-x32–1_75.lib"). J’ai donc désinstallé Boost pour réinstaller la bonne version et là il ne trouve plus les #include.

Sinon, si ça peut aider, quand je mets le chemin complet entre les chevrons du #include, il le trouve

#include <C:\Users\celin\Documents\CPlus\Librairies\boost_1_75_0\boost\log\trivial.hpp>

mais tous les autres #include présent dans trivial.hpp restent introuvables.

De ce que j’ai pu lire sur internet, est-ce possible que les bibliothèques soient déjà utilisées sans que je m’en rende compte ce qui bloquerait un nouvel accès?

Si vous voyez une solution avec ces informations supplémentaires je reste à l’écoute…

Merci d’avance.

Oui si tu mets le chemin complet, ton fichier va être trouvé, mais comme tu le constates, ce n’est pas la bonne solution.

Tu as bien pensé à ajouter le répertoire des includes aussi, en même temps que pour l’éditeur de liens ? Peut-être qu’un paramètre a changé depuis. Je vais refaire l’installation de mon côté avec Visual Studio 2019 et Boost 1.75, je te dis si je rencontre quelque chose.

EDIT : Je viens de refaire l’installation, je n’ai eu aucun problème ni eu besoin de faire une quelconque modification par rapport aux instructions, à part remplacer la version 1.69 par la version 1.75 de Boost.

Bonjour informaticienzero,

J’ai continué mes recherches sur internet et je viens de trouver une solution.

En plus de mettre le lien des fichiers d’en-tête dans "C/C++ -> Général" puis "Autres répertoires Include" je l’ai ajouté dans "Propriétés de configuration -> Répertoires VC++" puis "Répertoires Include" (en plus de "$ (VC_IncludePath)" et "$ (WindowsSDK_IncludePath)").

Je ne sais pas pourquoi je dois ajouter ça et pas toi, mais ça fonctionne.

Encore merci à toi du temps passé pour mon problème et un grand merci pour le tutoriel, il est vraiment très très bien.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte