See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: Question sur le mode debug VC++  (Read 2453 times)

0 Members and 1 Guest are viewing this topic.

Offline Spass

  • Jr. Member
  • **
  • Posts: 69
  • Karma: 0
22 January 2010, 11:35:04
Salut,

Alors voilà, j'ai une petite question concernant un addon spécifique, mais par contre-coup la compilation d'une dll en
général. :wall:

J'ai téléchargé il y a quelques jours cet addon de T-38 par kev33 : http://www.orbithangar.com/searchid.php?ID=3010

Cependant je ne sais pas si je suis le seul à avoir ce problème, mais il s'avère que cet addon ne joue pas les sons. Après
avoir jeté un petit coup d'oeil au fichier source inclus avec l'addon, j'ai vu qu'il n'y avait pas de soucis majeur pour que
ces derniers soient joués (bien-sûr dans la limite de mes connaissances) ;)

Le lien #include vers "OrbiterSoundSDK30" était bien cité (je l'ai juste remodifié en "OrbiterSoundSDK35" par derrière, vu que j'ai la version 3.5 [dans le doute]), les liens entre "RequestLoadVesselWave3" et "PlayVesselWave3" étaient visiblement corrects ainsi que les conditions pour pouvoir jouer ces sons, alors j'ai recompilé le tout une nouvelle fois, ai fait fonctionné la nouvelle compilation dans Orbiter, mais toujours pas son.

Après vérif. je me suis rendu compte que j'avais compilé en mode debug, alors j'ai fait une nouvelle fois cette opération
mais en mode release cette fois-ci. Et là j'avoue que je n'ai pas trop compris, mais tout marchait à merveille :???:


Alors d'après les tuto C++ une dll en mode debug comporte plus d'infos qu'une dll "normale" si j'ai bien compris :siffle:

Au final est-il donc possible qu'une dll en debug "bloque" certaines données comme le son ou autres (à cause de la masse d'infos liée à ce mode) ou bien ca viendrait plutôt de la rédaction utilisée par le développeur?



Post Edited ( 01-22-10 13:24 )


Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #1 - 22 January 2010, 12:42:21
y'a aps trop de raison pour que cela fasse ca...... en tout cas je n'en voie aps de mon coté


---------------------------------------------

PC en rade, codage en panne.... Nom de Zeus

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #2 - 22 January 2010, 15:51:17
Aucune raison aussi, je euh ? non aucune raison.
Reessaie en "debug" si ça refais cherche des #ifdef _DEBUG
sinon c'était ... euh je sais pas. Peut-être que la compile n'avait pas marché?

A++

Dan


Offline Spass

  • Jr. Member
  • **
  • Posts: 69
  • Karma: 0
Reply #3 - 22 January 2010, 19:14:53
Je ne vois pas la raison non plus, j'ai essayé avec d'autres addons, il n'y a que celui-là qui me fait le coup, lorsqu'on repasse en DEBUG les mêmes problèmes reviennent, j'ai fais l'aller/retour entre les deux modes trois fois histoire d'être sûr :trucdeouf:

Par contre en effet, il y avait quelques avertissements lors de la compilation qui au final n'ont toutefois pas empêché
qu'elle se fasse, mais tout de même : 5 avertissement du même type au total que je ne suis pas parvenu à cerner.

(je dirais juste pour ma défense que je ne débute que depuis deux semaines dans le C++, alors pitié soyez indulgents si la
tuile vous crève les yeux) ;)

Quote
1. warning C4244: 'argument' : conversion de 'double' en 'int', perte possible de données
La ligne en question : PlayVessel1Wave3 (MySoundID, ENG,LOOP, 255,eng_pitch);

2.warning C4244: 'argument' : conversion de 'double' en 'unsigned int', perte possible de données
string is1 = stringOne.substr(0 + s2 + s3 + s4 + s5, 1) ;

3.warning C4244: 'argument' : conversion de 'double' en 'unsigned int', perte possible de données
string is2 = stringOne.substr(0 + s3 + s4 + s5, 1) ;

4.warning C4244: 'argument' : conversion de 'double' en 'unsigned int', perte possible de données
string is3 = stringOne.substr(0 + s4 + s5, 1) ;

5.warning C4244: 'argument' : conversion de 'double' en 'unsigned int', perte possible de données
string is3 = stringOne.substr(0 + s5, 1) ;

PS: Je n'ai pas trouvé de #ifdef_DEBUG



Post Edited ( 01-22-10 19:22 )


Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #4 - 22 January 2010, 20:30:24
Moi je dis chapeau, tu débute en C++ et tu parviens à compiler des Dll pour orbiter c'est respect ca monsieur.

tes ptits warning sont effectivement sans importance, il manque un "cast explicite"

en gros pour dire au compilo que la conversion du double en unsigned int est bien voulu
pour cela il faut faire un cast, c'est à dire

string is1 = stringOne.substr((unsigned int) 0 + s2 + s3 + s4 + s5, 1) ;



Message modifié ( 22-01-2010 21:38 )

---------------------------------------------

PC en rade, codage en panne.... Nom de Zeus

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #5 - 22 January 2010, 20:46:23
Regarde les param de compile si t'est pas en unicode (m'étonnerais) ou autre.

Cherche un "_DEBUG" plutôt

Dan


Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
Reply #6 - 22 January 2010, 22:20:14
http://www.orbithangar.com/searchid.php?ID=3261

c'est pour updater le son de ses avions

ça peut t'aider ?



Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #7 - 23 January 2010, 04:49:16
Quote
Spass a écrit:
Au final est-il donc possible qu'une dll en debug "bloque" certaines données comme le son ou autres

Impossible, y a un setting qui est différent quelque part entre debug et release.
Ça marche pareil sinon le mode debug sert strictement à rien :)
(En fait c'est pas tout a fait vrais, une variable de classe non initialisée est remplie de zéro
en debug et du contenu de la mémoire en release, tu test en debug sans init: impec, tu test en release
avec des variables qui contiennent n'importe quoi= CTD (avec du bol) ou arrachage de cheveux sinon)

Si tu coince toujours envoie le moi que je tripote et regarde.

Dan


Offline Thierry Duhagon

  • Legend
  • ******
  • Posts: 2701
  • Country: France fr
  • Karma: 11
Reply #8 - 23 January 2010, 08:39:43
Quote
tofitouf a écrit:
string is1 = stringOne.substr((unsigned int) 0 + s2 + s3 + s4 + s5, 1) ;
Vers l'infini et au delà.... ou presque

Héhé... sans blague ...
 Moi ca m'épate ces langues venues d'un autre monde...
;)


Thierry

Per Ardua ad Astra
Avec fougue, jusqu'aux astres

Offline Spass

  • Jr. Member
  • **
  • Posts: 69
  • Karma: 0
Reply #9 - 23 January 2010, 15:11:23
Merci Totitouf, ce genre de compliment fait vraiment redoubler la motivation surtout lorsqu'on sest cassé une bonne trentaine de fois les dents sur les compilations! :badsmile: Pour les avertissements merci de m'avoir expliqué également, j'ai corrigé les lignes et la compil se fait maintenant sans un seul "warning" :top: En revanche, même avec les warnings en moins, le problème persiste, les sons jouent toujours en 'release' mais pas en 'debug'...

En ce qui concerne le patch, merci Fox-Terrier, je n'avais pas pris la peine de le chercher sur O-H ;) Mais il s'avère qu'il
a exactement le même problème qui ne peut être résolu qu'en recompilant le fichier source patché du T-38 en 'release'.

Sinon j'ai cherché ce que tu disais Dan mais aucune trace de '_DEBUG' dans les lignes de code et je ne tourne pas en unicode. D'ailleurs pour faire sûr côté configuration du projet j'ai repris le shuttlePB.vcproj de la SDK d'Orbiter puis y ai substitué le code source du PB par celui du T-38. Et vlan même problème :wall: en release tout tourne nickel en revanche.

Merci de te proposer pour y jeter un oeil quand tu auras le temps, c'est vraiment sympa, je t'envoie le code source en mp? (va tout de même faire un peu long en revanche, enfin tu as dû voir vu pire que ca question longueur ces derniers temps) ;) A moins que j'aie moyen de te l'envoyer ou de te l'uploader à une adresse quelconque?



Message modifié ( 23-01-2010 15:30 )


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #10 - 23 January 2010, 16:17:21
Quote
Spass a écrit:
Merci de te proposer pour y jeter un oeil quand tu auras le temps, c'est vraiment sympa, je t'envoie le code source en mp?
(va tout de même faire un peu long en revanche, enfin tu as dû voir vu pire que ca question longueur ces derniers temps) ;) A
moins que j'aie moyen de te l'envoyer ou de te l'uploader à une adresse quelconque?

Je te mp un site gratos ou tu peux uploader les tout, clean le projet (pour enlever les temp de compile qui font des mb) zip
et upload...

A++

Dan


Offline Spass

  • Jr. Member
  • **
  • Posts: 69
  • Karma: 0
Reply #11 - 24 January 2010, 12:08:42
Merci pour le lien, je viens de nettoyer le projet et de l'uploader. :top:



Message modifié ( 24-01-2010 12:31 )

« Last Edit: 24 January 2010, 12:08:42 by Spass »