Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3043 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

classe non reconnue

n°1168870
slash33
Posté le 03-08-2005 à 13:55:30  profilanswer
 

Reprise du message précédent :
Dis HelloWorld: ça ne fonctionnerait pas en incluant QuantLib.lib dans le projet de RisqueCom.DLL?


Message édité par slash33 le 03-08-2005 à 13:55:47
mood
Publicité
Posté le 03-08-2005 à 13:55:30  profilanswer
 

n°1168879
morgan541
Posté le 03-08-2005 à 14:10:09  profilanswer
 

J'ai bien mon QuantLib.lib dans Link --> Object/library modules

n°1168980
morgan541
Posté le 03-08-2005 à 15:13:52  profilanswer
 

C'est ok
J'ai regénéré ma Quantlib.lib
maintenant c bon
 
Bon par contre je veux rajouter un 3eme projet Credit
qui me génère Credit.lib qui va ete untiliser par le projet actif
 
Je ne comprends pas pourquoi je n'ai pas l'onglet Library
dans mes project settings de mon projet Credit
C pas le meme type de projet j'imagine
 
dois je recommencer mon projet Credit sous un autre type ou pas, ou explication...
 
J'ai vraiment d mal avec ces histoires de .lib...
dslé
 
 

n°1169103
HelloWorld
Salut tout le monde!
Posté le 03-08-2005 à 17:00:35  profilanswer
 

Pour ajouter le lib à ton projet, y'a au moins 3 façons de faire.
- Dans project settings->editeur de liens->entrée
- Via le code (#pragma comment( lib, "malib.lib" )
- via le gestionnaire de dépendances de la solution project settings->dépendances du projet. C'est le mieux à mon avis, car ca ajoute tout seul la lib qui va bien (release/debug, ...) et ça s'assure que la lib a bien été regénérée si besoin est.
 
Tu veux ajouter la lib statique Credit. Dans une lib statique, y'a pas eu l'édition de liens. Donc c'est normal de pas avoir d'onglet à ce sujet. Tu vas obtenir un Credit.lib. Tu dois lier avec ce Credit.lib depuis ton autre projet, celui qui utilise la lib statique.
C'est pas une bonne idée de rajouter des .lib en dépendance d'une lib statique, c'est source de problèmes (symboles définit de multiples fois...)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1169149
morgan541
Posté le 03-08-2005 à 17:33:21  profilanswer
 

Bon on va voir si çà se tient!!
 
Admettons que je l'ai bien inclus :-)
 
si dans mon projet actif je fais appel à une fonction de mon credit.lib qui se trouve dans le fichier utilities.h
 
 
On est d'accord qu'un simple #include "utilities.h" est suffisant?

n°1169167
slash33
Posté le 03-08-2005 à 17:42:19  profilanswer
 

Oui si credit.lib est inclus (de la manière que tu veux) à l'édition de liens du projet actif

n°1169183
morgan541
Posté le 03-08-2005 à 17:51:26  profilanswer
 

je ne comprends pas alors pour quoi j'aia des erreurs à la conb du style;
 
// ExcelTest.cpp: implementation of the ExcelTest classes.
//
//////////////////////////////////////////////////////////////////////
 
#include "ExcelFunc/ExcelCredit.h"
 
#include "ql/quantlib.hpp"
#include "utilities.h"
 
 
using namespace QuantLib;
 
using Variant;
using VariantMatrix;
using VariantVector;
 
using std::string;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
 
EXCEL_REGISTER_ARGUMENTS(TestCredit)
//void ExcelBlackScholes::registerArguments()
{
 DOUBLE_ARG(arg1)
 DOUBLE_ARG(arg2)
 
}
 
EXCEL_EXEC(TestCredit)
//void ExcelBlackScholes::exec(VariantMatrix &commandOutputs)  
{
   SET_DOUBLE_ARG(arg1)
 SET_DOUBLE_ARG(arg2)
 double res=Maxi(arg1,arg2);
 
 Size rows = 1, cols = 1;
 commandOutputs = VariantMatrix(rows,cols);
 
 commandOutputs(0,0).setDouble(110.0);
}

n°1169185
morgan541
Posté le 03-08-2005 à 17:52:34  profilanswer
 

Code :
  1. ExcelFunc/ExcelFunc.h(22) : error C2143: syntax error : missing ';' before '.'
  2. ExcelFunc/ExcelFunc.h(22) : error C2143: syntax error : missing ';' before '.'
  3. ExcelFunc/ExcelFunc.h(38) : error C2143: syntax error : missing ';' before 'if'
  4. ExcelFunc/ExcelFunc.h(38) : error C2143: syntax error : missing ';' before '{'
  5. ExcelFunc/ExcelFunc.h(38) : error C2447: missing function header (old-style formal list?)
  6. ExcelFunc/ExcelFunc.h(38) : error C2143: syntax error : missing ';' before 'else'
  7. C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\wctype.h(34) : error C2143: syntax error : missing ';' before '{'
  8. C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\wctype.h(34) : error C2447: missing function header (old-style formal list?)
  9. ../../QuantLib\ql/Utilities/filteringiterator.hpp(182) : fatal error C1506: unrecoverable block scoping error
  10. Generating Code...
  11. Error executing cl.exe.
  12. Creating browse info file...
  13. BSCMAKE: error BK1506 : cannot open file '.\Release\CommandDispatcher.sbr': No such file or directory
  14. Error executing bscmake.exe.

n°1169188
morgan541
Posté le 03-08-2005 à 17:54:21  profilanswer
 

et ExcelFunc me génère juste du code vba
 

Code :
  1. #if !defined(_EXCELFUNC_)
  2. #define _EXCELFUNC_
  3. #include "ExcelCredit.h"
  4. #define GEN_VBA_FUNC  \
  5. GEN_VBA(TestCredit)

n°1169191
theshockwa​ve
I work at a firm named Koslow
Posté le 03-08-2005 à 17:54:49  profilanswer
 

si tes erreus sont localisées dans le .h et que tu nous montre le .cpp, on ne va pas deviner la cause :pfff:


Message édité par theshockwave le 03-08-2005 à 17:54:57
mood
Publicité
Posté le 03-08-2005 à 17:54:49  profilanswer
 

n°1169197
morgan541
Posté le 03-08-2005 à 17:59:48  profilanswer
 

le .h est justete au dessus de ce post  
les 6 lignes

n°1169199
morgan541
Posté le 03-08-2005 à 18:04:12  profilanswer
 

le 1er ct ExcelCredit.cpp
après erreur
et après ExcelFunc.h

n°1169208
slash33
Posté le 03-08-2005 à 18:08:20  profilanswer
 

Hein il est ou le code de ExcelFunc.h?? Manque de discipline tout ça.

n°1169211
morgan541
Posté le 03-08-2005 à 18:09:23  profilanswer
 

Code :
 
#if !defined(_EXCELFUNC_)  
#define _EXCELFUNC_  
 
#include "ExcelCredit.h"  
#define GEN_VBA_FUNC        \  
GEN_VBA(TestCredit)

n°1169212
slash33
Posté le 03-08-2005 à 18:09:34  profilanswer
 

Si c'est bien les 6 lignes (et que les 6 lignes) il manque un #endif à la fin!

n°1169215
morgan541
Posté le 03-08-2005 à 18:12:31  profilanswer
 

non mais oui je m'excuse  
je vais pas jusqu'au bout pour vous éviter trop de code
 
discpline quand tu nous tiens

n°1169219
slash33
Posté le 03-08-2005 à 18:16:04  profilanswer
 

Bon on peut avoir le code de ExcelFunc.h en entier STP? C'est qu'il faut se faire prier pour résourdre tes problèmes, y aurait pas un défaut?  :pfff:
 
Edit: et met le code dans des balises cpp, je ne veux pas compter les lignes moi!


Message édité par slash33 le 03-08-2005 à 18:16:56
n°1169220
morgan541
Posté le 03-08-2005 à 18:18:58  profilanswer
 

Code :
  1. // ExcelFunc.h:  
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(_EXCELFUNC_)
  5. #define _EXCELFUNC_
  6. #include "ExcelTest.h"
  7. #include "ExcelTest2.h"
  8. #include "ExcelCredit.h"
  9. #include "ExcelBlackScholes.h"
  10. /*
  11. Macro pour générer le code VBA des fonctions de manipulation des dates
  12. */
  13. #define GEN_VBA_FUNC   \
  14. GEN_VBA(ReadCellVectorMatrix) \
  15. GEN_VBA(MinMax)     \
  16. GEN_VBA(BlackScholes)   \
  17. GEN_VBA(TestCredit)
  18. /*
  19. Ajouter ici les nouvelles classes afin de générer le code VBA.
  20. Ne pas oublier le \ à la ligne précédente!
  21. */
  22. /*
  23. Macro exécuter des fonctions de manipulation des dates
  24. */
  25. #define COMMAND_EXEC_FUNC   \
  26. COMMAND_EXEC(ReadCellVectorMatrix) \
  27. COMMAND_EXEC(MinMax)    \
  28. COMMAND_EXEC(BlackScholes)   \
  29. COMMAND_EXEC(TestCredit)
  30. /*
  31. Ajouter ici les nouvelles classes afin de générer le code VBA.
  32. Ne pas oublier le \ à la ligne précédente!
  33. */
  34. #endif // !defined(_EXCELFUNC_)

n°1169225
slash33
Posté le 03-08-2005 à 18:24:20  profilanswer
 

Apparement il faut fouiller dans les macros GEN_VBA et COMMAND_EXEC. Il manque peut-être une macro de terminaison.
Donc maintenant le code de GEN_VBA et COMMAND_EXEC (enfin si tu peux les fournir - ce sont des macros système non?)

n°1169230
theshockwa​ve
I work at a firm named Koslow
Posté le 03-08-2005 à 18:26:40  profilanswer
 

ca me parait louche de devoir aller fouiller dans des macros pour résoudre ca, enfin, bon ...

n°1169232
slash33
Posté le 03-08-2005 à 18:28:11  profilanswer
 

Tu as vu le code et les messages d'erreurs non? A part regarder les macros tu proposes quoi?

n°1169234
morgan541
Posté le 03-08-2005 à 18:28:56  profilanswer
 

je sais pas  
ce n'est pas moi 'lauteur de ce code assez cho
 
mais juste pour préciser
Avant que je rajoute cette nouvelle libraire je n'avais pas de souci dans excelfunc.h
 

n°1169238
slash33
Posté le 03-08-2005 à 18:30:56  profilanswer
 

Au fait ta liste d'erreur n'a pas l'air complète: on ne sait pas quel est le cpp qui est à l'origine de l'erreur.

n°1169246
morgan541
Posté le 03-08-2005 à 18:34:22  profilanswer
 

Code :
  1. Compiling...
  2. CommandDispatcher.cpp
  3. ExcelFunc/ExcelFunc.h(22) : error C2143: syntax error : missing ';' before '.'
  4. ExcelFunc/ExcelFunc.h(22) : error C2143: syntax error : missing ';' before '.'
  5. ExcelFunc.h(36) : error C2143: syntax error : missing ';' before 'if'
  6. ExcelFunc/ExcelFunc.h(36) : error C2143: syntax error : missing ';' before '{'
  7. ExcelFunc/ExcelFunc.h(36) : error C2447: missing function header (old-style formal list?)
  8. DExcelFunc/ExcelFunc.h(36) : error C2143: syntax error : missing ';' before 'else'
  9. C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\wctype.h(34) : error C2143: syntax error : missing ';' before '{'
  10. C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\wctype.h(34) : error C2447: missing function header (old-style formal list?)
  11. ../../QuantLib\ql/Utilities/filteringiterator.hpp(182) : fatal error C1506: unrecoverable block scoping error
  12. Error executing cl.exe.
  13. Creating browse info file...
  14. BSCMAKE: error BK1506 : cannot open file '.\Release\CommandDispatcher.sbr': No such file or directory
  15. Error executing bscmake.exe.
  16. RisqueCom.dll - 10 error(s), 0 warning(s)


n°1169645
slash33
Posté le 04-08-2005 à 09:16:05  profilanswer
 

Donnes le code de CommandDispatcher.cpp maintenant.


Message édité par slash33 le 04-08-2005 à 09:16:23
n°1169648
morgan541
Posté le 04-08-2005 à 09:21:27  profilanswer
 

Bonjour,
 
Allez on est reparti
 

Code :
  1. // CommandDispatcher.cpp: implementation of the CommandDispatcher class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "CommandDispatcher.h"
  6. #include "ExcelFunc/ExcelFunc.h"
  7. #include "ql/quantlib.hpp"
  8. #include <fstream>
  9. #include <conio.h>
  10. #include "SeException.h"
  11. using namespace QuantLib;
  12. using toto::VariantMatrix;
  13. using std::string;
  14. using toto::VariantVector;
  15. //////////////////////////////////////////////////////////////////////
  16. // Construction/Destruction
  17. //////////////////////////////////////////////////////////////////////
  18. CommandDispatcher::CommandDispatcher()
  19. {
  20. }
  21. CommandDispatcher::~CommandDispatcher()
  22. {
  23. }
  24. void CommandDispatcher::generateVBA()
  25. {
  26. try {
  27.  string moduleName = "totoAnalytic";
  28.  string fileName = "d:/Debug/";
  29.  fileName += moduleName;
  30.  fileName += ".bas";
  31.  std::ofstream file(fileName.c_str());
  32.  file << "Attribute VB_Name = \"" << moduleName << "\"" << std::endl;
  33.  file << "Option Explicit" << std::endl;
  34.  file << std::endl;
  35.  GEN_VBA_FUNC
  36. }
  37. catch (_com_error & ce )
  38. {
  39.  throw QuantLib::ExtendedError("CommandDispatcher::generateVBA(), ",ce.ErrorMessage());
  40. }
  41. catch (QuantLib::ExtendedError & e)
  42. {
  43.  throw QuantLib::ExtendedError("CommandDispatcher::generateVBA(), ",e.what());
  44. }
  45. catch (QuantLib::Error & qe)
  46. {
  47.  throw QuantLib::ExtendedError("CommandDispatcher::generateVBA(), ",qe.what());
  48. }
  49. catch (std::exception & e)
  50. {
  51.  throw QuantLib::ExtendedError("CommandDispatcher::generateVBA(), ",e.what());
  52. }
  53. catch (...)
  54. {
  55.  throw QuantLib::ExtendedError("CommandDispatcher::generateVBA(), ", "Unknow Error" );
  56. }
  57. }
  58. VariantMatrix & CommandDispatcher::Execute(const string &commandName, const VariantVector &commandArguments)
  59. {
  60. try {
  61.  // FIXME: A std::map should clean the following 'else if'.
  62.  // The default configuration of the MS visual compiler
  63.  // allows 122 'else if'. It explains why the 'else if' block
  64.  // is divided into two parts.
  65.  // First part:
  66.  bool found = true;
  67.  COMMAND_EXEC_FUNC
  68.  // Rem: the COMMAND_EXEC macro adds a 'else' here
  69.  throw QuantLib::ExtendedError("Unknown Command Name" );
  70.  // end of the 'else if' block
  71. }
  72. #ifdef _DEBUG
  73. # define COMMAND_DISPATCHER_ERROR "[CommandDispatcher::Execute] "
  74. # else
  75. # define COMMAND_DISPATCHER_ERROR ""
  76. #endif
  77. catch (QuantLib::Throw_help &h)
  78. {
  79.  throw QuantLib::ExtendedError("[Help] ", h.what());
  80. }
  81. catch (_com_error & ce )
  82. {
  83.  throw QuantLib::ExtendedError(COMMAND_DISPATCHER_ERROR "[COM] ", ce.ErrorMessage());
  84. }
  85. catch (QuantLib::ExtendedError & e)
  86. {
  87.  throw QuantLib::ExtendedError(COMMAND_DISPATCHER_ERROR "[NxBP] ", e.what());
  88. }
  89. catch (QuantLib::Error & qe)
  90. {
  91.  throw QuantLib::ExtendedError(COMMAND_DISPATCHER_ERROR "[QantLib] ",qe.what());
  92. }
  93. catch (std::exception & e)
  94. {
  95.  throw QuantLib::ExtendedError(COMMAND_DISPATCHER_ERROR "[std] ",e.what());
  96. }
  97. catch(CSeException *e) {
  98.  TCHAR trcMsg[1024];
  99.  e->GetErrorMessage(trcMsg,1024);
  100.  cprintf(trcMsg);
  101.  cprintf("\n" );
  102.  e->Delete();
  103.  throw QuantLib::ExtendedError(COMMAND_DISPATCHER_ERROR "[CSeException] hardware exception" );
  104. }
  105. catch (...)
  106. {
  107.  throw QuantLib::ExtendedError(COMMAND_DISPATCHER_ERROR "[-other-]", "Unknow Error" );
  108. }
  109. return commandOutputs_;
  110. }
  111. #undef COMMAND_EXEC

n°1169654
slash33
Posté le 04-08-2005 à 09:33:13  profilanswer
 

Le fichier CommandDispatcher a l'air bon.
 
=> D'après l'erreur on en revient donc à ExecFunc.h
 
Est-ce que la classe TestCredit est conforme à ce qu'attendent les macros GEN_VBA et COMMAND_EXEC?
 
TEST: Essaye de mettre en commentaire les lignes 22 et 36 de ExcelFunc.h et compile CommandDispatcher.cpp. Tu devrais avoir des erreurs. Si elles sont différentes liste les.
 
* ligne 128: #undef COMMAND_EXEC -> me choque un peu!


Message édité par slash33 le 04-08-2005 à 09:36:23
n°1169656
morgan541
Posté le 04-08-2005 à 09:36:14  profilanswer
 

pas d'erreur lors de la compil de CommandDispatcher.cpp

n°1169657
slash33
Posté le 04-08-2005 à 09:37:07  profilanswer
 

Tu veux dire que ça compile sans aucune erreur?


Message édité par slash33 le 04-08-2005 à 09:38:52
n°1169658
morgan541
Posté le 04-08-2005 à 09:38:14  profilanswer
 

quand j'enlève 22 et 36
oui je n'ai pas d'erreur

n°1169659
morgan541
Posté le 04-08-2005 à 09:38:53  profilanswer
 

non

n°1169661
slash33
Posté le 04-08-2005 à 09:39:35  profilanswer
 

Je veux être sur d'une chose avant de continuer:
tu a bien mis en en commentaire les '\' finaux des lignes 21 et 35?


Message édité par slash33 le 04-08-2005 à 09:53:29
n°1169662
theshockwa​ve
I work at a firm named Koslow
Posté le 04-08-2005 à 09:39:35  profilanswer
 

c'est beau, le C [:petrus75] vous vous y remettez tôt, dites donc :D

n°1169663
slash33
Posté le 04-08-2005 à 09:40:09  profilanswer
 

9h = heure de boulot (mais calme en ce moment)

n°1169664
morgan541
Posté le 04-08-2005 à 09:40:29  profilanswer
 

quand il faut il faut
 

n°1169665
slash33
Posté le 04-08-2005 à 09:41:57  profilanswer
 

bon morgan réponds à ma dernière question...


Message édité par slash33 le 04-08-2005 à 09:54:23
n°1169668
theshockwa​ve
I work at a firm named Koslow
Posté le 04-08-2005 à 09:46:03  profilanswer
 

slash33 a écrit :

9h = heure de boulot (mais calme en ce moment)


pour moi, c'est 9h30  :hello: Enfin, tout ca pour dire que je continue à suivre :D

n°1169672
slash33
Posté le 04-08-2005 à 09:47:18  profilanswer
 

theshockwave a écrit :

pour moi, c'est 9h30  :hello: Enfin, tout ca pour dire que je continue à suivre :D


Ben quoi tu ne te sens pas de répondre? On a bien avancé, je suis presque sûr d'avoir cerné l'erreur (pour la corriger par contre...)

n°1169677
slash33
Posté le 04-08-2005 à 09:51:21  profilanswer
 

Sinon c'est quoi cet avertissement l. 75 à 78?

Code :
  1. // FIXME: A std::map should clean the following 'else if'.
  2. // The default configuration of the MS visual compiler
  3. // allows 122 'else if'. It explains why the 'else if' block
  4. // is divided into two parts.


Message édité par slash33 le 04-08-2005 à 09:51:39
n°1169683
morgan541
Posté le 04-08-2005 à 09:59:14  profilanswer
 

oui j'ai bien mis les  quotes avec les \

n°1169684
morgan541
Posté le 04-08-2005 à 10:00:28  profilanswer
 

concernant l'avertissement  
??

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

Sujets relatifs
prob acces a une methode d'une classeChanger une classe d'un objet input [Résolu]
SWT/AWT et la classe ListComment utiliser cette classe PHP pour lire du Excel ?
classe et interfaceclasse CSS et id de balise
Probleme attacheMovie & Classe externeFaire des membres d'une classe en "lecture seule"
[C#] Classe de logClasse non reconnue
Plus de sujets relatifs à : classe non reconnue


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR