Compilation MAC et machines virtuelles

Compilation MAC et machines virtuelles

par Gaëtan Emmanuel Mancini,
Number of replies: 1

Bonjour, 

Dans un fichier qqch.h que j'ai créé, j'ai prototypé une méthode retournant un std::unique_ptr. Par inattention, j'ai oublié d'inclure la bibliothèque memory au début du fichier. Par ailleurs, cette bibliothèque n'était pas non plus incluse dans les autres fichiers .h inclus dans qqch.h

Pourtant, en compilant avec mon makefile sur MAC, tout s'est passé sans problème, alors que sur les machines virtuelles, un message d'erreur disant que les unique_ptr n'étaient pas définis s'affichait et faisait échouer la compilation des mêmes fichiers.

A titre personnel, il me semble plus logique qu'un message d'erreur s'affiche étant donné l'oubli de la bibliothèque memory. Je voulais donc savoir pour quelle raison la compilation s'effectuait sans problème sur MAC avec exactement les mêmes fichiers et le même makefile que sur la machine virtuelle.

In reply to Gaëtan Emmanuel Mancini

Re: Compilation MAC et machines virtuelles

par Deleted user,

As-tu utilisé XCode (ou un gros programme similaire)? Il se pourrait qu'il ait inclus les fichiers pour toi au moment de compiler (regarde les commandes de compilation).

Sinon, c'est peut-être que les librairies sont implémentées différemment sous MacOS, et que <memory> avait été chargée "en coulisse" par un autre include. Mais là, franchement, je ne suis pas la personne à qui demander!

La meilleure approche reste, comme d'habitude, d'inclure ce qu'il te faut; et cela implique donc d'y faire attention.