Posté le 16/05/2014 14:10
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 194 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 16/05/2014 14:33 | #
Personnellement j'inclus toujours mes .h dans le SDK et je n'ai toujours pas eut d'erreur, essaye de les inclure, ça m'arrivait aussi ce genre d'erreurs avant d'inclure mes .h
Citer : Posté le 16/05/2014 16:03 | #
WARNING: The following dependant file(s) do not exist: "src\lib\MonochromeLib.h" "src\render\Camera.h" "src\render\Vertex.h" "src\render\math\Matrix.h" "src\render\math\Vector.h". Line: 104
WARNING: The following dependant file(s) do not exist: "src\lib\MonochromeLib.h" "src\render\Camera.h" "src\render\Vertex.h" "src\render\math\Matrix.h" "src\render\math\Vector.h". Line: 121
WARNING: The following dependant file(s) do not exist: "src\lib\MonochromeLib.h" "src\render\Camera.h" "src\render\Vertex.h" "src\render\math\Matrix.h" "src\render\math\Vector.h". Line: 138
"C:\CASIO\fx-9860GSDK\OS\SH\bin\shc.exe" -subcommand=C:\Users\LOC~1\AppData\Local\Temp\hmkF8F9.tmp
D:\Documents\CASIO\Codes\3D\src\render/Camera.h(4) : C5005 (F) Could not open source file "math/Vector.h"
C'est les erreurs typiques que me produit le SDK si j'inclus les .h. Plus l'erreur dont il est question plus haut
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 16/05/2014 17:46 | #
Il y a un truc qui m'intrigue : dans
il utilise un "/" pour séparer les niveaux de l'arborescence (sauf au tout début ou c'est un "\"). Or, si tu utilise le SDK, je suppose que tu es sous Windows. Mais ça n'est pas logique, il devrait alors utiliser un "\"...
C'est peut-être complètement idiot mais ça m'intrigue.
De plus,
Système d'exploitation (principal) : Linux Mint 16
Coïncidence ? Je ne pense pas.
Citer : Posté le 16/05/2014 18:25 | #
Alors j'ai essayé sur Wine d'installer le SDK, je n'ai pas réussi à changer le chemin d'installation du SDK, ce qui provoque des erreurs de compilation si le chemin en question contient des espaces. J'ai laissé tomber Wine et là je suis sur un Windows virtualisé, donc Windows quoi.
Même si c'était un changement de "/" à "\", pourquoi avant ça marchait sans problèmes ? D'ailleurs ça ne change rien...
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 16/05/2014 18:55 | #
Le fichier n'existe pas du point de vue du SDK, de toute évidence.
Pour ma part, je déconseille Wine, car il me plantait à chaque compilation (Linux Mint 16, 64 bits).
Pour ce coup, je te conseille d'utiliser VirtualBox (XP SP3), qui fonctionne très bien, y compris avec l'USB (donc FA-124).
Sinon, essaye avec deux '\'. Avec un ça ne risque pas de fonctionner plus.
Citer : Posté le 16/05/2014 20:01 | #
Avec deux '\', toujours pareil. Et je suis bien sous Windows actuellement, Windows 8.
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 16/05/2014 20:03 | #
Tu as bien un fichier "Vector.h" (attention à la casse) dans un sous-dossier math du projet ou des dossiers standard ?
Citer : Posté le 16/05/2014 20:06 | #
Oui, tu peux regarder l'arborescence des fichiers dans le lien de mon premier message si tu veux.
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 16/05/2014 20:13 | #
Au temps pour moi.
Réflechissant une seconde, l'arborescence en / doit fonctionner vu que tu inclus "../lib/MonchromeLib.h".
De plus, l'erreur n'apparaît pas avec Matrix.h.
Enfin, rien de tout ça n'est sûr, puisque ça génère une fatal error...
Tu as essayé en copiant le header dans le même dossier que la source (et en adaptant bien entendu) ?
Citer : Posté le 16/05/2014 20:28 | #
Avec ta solution ça marche, mais bon je cherche quand même à rester organisé dans mes fichiers, si quelqu'un a déjà eu un problème similaire, qu'il le fasse savoir ! Merci Lephenixnoir en tout cas
Ajouté le 16/05/2014 à 21:01 :
Je n'ai même pas touché au code, et ça recommence, malgré l'application ta solution
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 16/05/2014 21:04 | #
De nouveau, rien n'a changé dans les chemins ?
Tu es sûr que tu n'as rien touché au code ?
Citer : Posté le 16/05/2014 21:16 | #
Absolument rien ! J'étais parti manger, je suis revenu et j'ai cliqué sur "Build", et encore erreur. Et je n'ai absolument rien touché !
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 16/05/2014 21:17 | #
Bon...
Je peux avoir le projet complet (dans un zip) ?
Citer : Posté le 16/05/2014 23:56 | # | Fichier joint
Voilà, en fichier joint ! Ne fais pas attention à tout ce qui est algorithmique, c'est en cours d'avancement
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 17/05/2014 07:37 | #
Voilà ce que je peux dire.
Le chemin d'accès à l'origine était bizarre, car composé de '\' avec un '/' à la fin.
J'ai tenté de modifier, renommer le fichier Vector.h, ce qui n'a pas fonctionné. Or l'inclusion de Matrix.h fonctionnait.
Puisque je pouvais inclure Vector.h dans Camera.c, je me suis demandé si on ne pouvait pas l'inclure "avant" pour qu'il soit visible par Camera.h.
Et si on inclut Vector.h dans Camera.c après Camera.h, on a une liste d'erreurs de noms indéfinis (j'ai retiré l'include de Camera.h). Or si on le met avant, on a une fatal error.
Je pense que tu peux chercher de ce côté.
Citer : Posté le 17/05/2014 13:35 | #
Merci beaucoup de ton aide ! Je verrai ça plus tard dans la journée, et je te tiendrai au courant, encore merci
Ajouté le 20/05/2014 à 20:01 :
J'ai trouvé le problème !
Lorsqu'on inclut un fichier dans un autre, le préprocesseur ne fait qu'un simple copie coller du contenu du fichier inclut, ainsi les chemins fournis ne sont plus fonctionnels si on part d'un autre fichier d'un autre dossier. Voilà pour le problème, mais je n'ai pas de solution. J'avais pensé à la forward declaration, mais je ne sais pas comment m'y prendre
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 20/05/2014 20:06 | #
Je savais pour le copier-coller mais je ne comprends pas où est le problème tant que l'inclusion est faite relativement au fichier dans lequel le header est inclus.
Tu pourrais détailler, ou me donner un exemple ?
Citer : Posté le 20/05/2014 20:09 | #
Ok, considère l'arborescence de fichiers suivante :
/src
- /lib
- - MonochromeLib.h
- /scenes
- - game.h
- - /levels
- - - level.h
Dans level.h, tu fais un include "../../lib/MonochromeLib.h", donc ok tout va bien, mais dans le game.h tu fais un include "levels/level.h", il trouve le fichier et copie son contenu, dont le "../../lib/MonochromeLib.h". Ainsi, depuis le game.h, "../../lib/MonochromeLib.h" ne pointe pas vers le bon fichier, il pointe d'ailleurs sur rien du tout.
Système d'exploitations : Apricity OS - Windows 10
Citer : Posté le 20/05/2014 20:16 | #
Je vois.
Alors tu n'as plus qu'à appliquer une des deux solutions suivantes.
- Ne pas mettre d'include dans les fichiers inclus (contraignant)
- Utiliser des chemins absolus
La deuxième étant bien sûr la meilleure.
Citer : Posté le 20/05/2014 20:17 | #
Les chemins absolus n'ont pas l'air de fonctionner, tu t'y prends comment pour les utiliser ?
Je débute en C plz ne me frappe pas
Système d'exploitations : Apricity OS - Windows 10