Bonjour,
je suis en train de compiler un fichier cxx qui a l'origine a été edité sous visualC++. j'ai de nombreuses erreurs du type:
CTTSMrcpClient.cxx:2159: ISO C++ interdit la déclaration de « sprintf » sans
type
CTTSMrcpClient.cxx:2159: redefinition of `int sprintf'
CTTSMrcpClient.cxx:2152: «int sprintf» précédemment défini ici
CTTSMrcpClient.cxx:2159: liste d'initaliseurs a été traité comme une
expression composée
CTTSMrcpClient.cxx:2159: conversion invalide de « const char* » vers « int
»
CTTSMrcpClient.cxx:2160: « LOG_ERR » n'a pas été déclaré dans cet horizon
CTTSMrcpClient.cxx:2160: ISO C++ interdit la déclaration de « syslog » sans
type
CTTSMrcpClient.cxx:2160: redefinition of `int syslog'
CTTSMrcpClient.cxx:2153: «int syslog» précédemment défini ici
CTTSMrcpClient.cxx:2160: liste d'initaliseurs a été traité comme une
expression composée
CTTSMrcpClient.cxx:2161: ISO C++ interdit la déclaration de « closelog »
sans type
CTTSMrcpClient.cxx:2162: erreur d'analyse syntaxique avant « return »
CTTSMrcpClient.cxx:2165: redefinition of `char error[1024]'
CTTSMrcpClient.cxx:2158: «char error[1024]» précédemment déclaré ici
CTTSMrcpClient.cxx:2166: ISO C++ interdit la déclaration de « sprintf » sans
type
CTTSMrcpClient.cxx:2166: redefinition of `int sprintf'
CTTSMrcpClient.cxx:2159: «int sprintf» précédemment défini ici
CTTSMrcpClient.cxx:2166: liste d'initaliseurs a été traité comme une
expression composée
CTTSMrcpClient.cxx:2166: conversion invalide de « const char* » vers « int
»
CTTSMrcpClient.cxx:2167: « LOG_ERR » n'a pas été déclaré dans cet horizon
CTTSMrcpClient.cxx:2167: ISO C++ interdit la déclaration de « syslog » sans
type
CTTSMrcpClient.cxx:2167: redefinition of `int syslog'
CTTSMrcpClient.cxx:2160: «int syslog» précédemment défini ici
CTTSMrcpClient.cxx:2167: liste d'initaliseurs a été traité comme une
expression composée
CTTSMrcpClient.cxx:2168: ISO C++ interdit la déclaration de « closelog »
sans type
CTTSMrcpClient.cxx:2169: erreur d'analyse syntaxique avant « return »
CTTSMrcpClient.cxx:2172: redefinition of `char error[1024]'
CTTSMrcpClient.cxx:2165: «char error[1024]» précédemment déclaré ici
CTTSMrcpClient.cxx:2173: ISO C++ interdit la déclaration de « sprintf » sans
type
CTTSMrcpClient.cxx:2173: redefinition of `int sprintf'
CTTSMrcpClient.cxx:2166: «int sprintf» précédemment défini ici
CTTSMrcpClient.cxx:2173: liste d'initaliseurs a été traité comme une
expression composée
CTTSMrcpClient.cxx:2173: conversion invalide de « const char* » vers « int
»
CTTSMrcpClient.cxx:2174: « LOG_ERR » n'a pas été déclaré dans cet horizon
ou ce sont aussi des erreurs de decla de variable, qui pourtant le sont...! ou des erreurs de syntaxes etc...
ya t'il une solution simple pour resoudre tout en meme temps sans avoir a tout refaire...!!! merci
# id
Posté par TImaniac (site web personnel) . Évalué à 3.
[^] # Re: id
Posté par moule2005 . Évalué à 1.
[^] # Re: id
Posté par moule2005 . Évalué à 1.
#include "CTTSMrcpClient.hxx"
CTTSMrcpClient::CTTSMrcpClient(PCVoiceAppInfo info) : CTTSAbstract( PAppInfo)
{
rtpPortNumber = getPortNumber();
response = 0;
savedMsg = 0;
contentId = 100;
isSpeaking = false;
myShutdown = false;
/** Cr?tion du parseur de message MRCP */
parser = new MrcpMsgParser() ;
/** Cr?tion de la pile rtsp */
cttsRtsp = new CTTSRtsp(rtpPort);
}
CTTSMrcpClient::~CTTSMrcpClient()
{
}
/**
* La fonction init se contente de renvoyer les param?res de connection
* ?la pile rtsp
*/
int
CTTSMrcpClient::Init(const char* szInitString = NULL);
{
/** szInitString est de la forme :
* - serveurMrcpMachine (localhost)
* - port (8554)
* - serveurMrcpNom (mediaServer)
* - cheminRessource (/media/synthetizer/)
* la syntaxe est serveurMrcpMachine:port:serveurMrcpNom:cheminRessource
*/
int res = cttsRtsp->Init( szInitString );
/** res == 0 signifie que le client s'est connect?et qu'il a ouvert une session rtsp */
if ( res != 0 ) return res;
}
int
CTTSMrcpClient::Shutdown(void);
{
}
/**
* GET-PARAMS id MRCP/1.0
* Voice-rate:
*/
int
CTTSMrcpClient::GetSpeed(int &Speed);
{
char buffer[BUFFER_PARAM] ;
buffer[0] = '\0';
sprintf(buffer,"GET-PARAMS %d MRCP/1.0\r\nVoice-rate:\r\n\r\n",contentId++);
/* Envoi de la requ?e au serveur MRCP */
int res = cttsRtsp->WriteData( buffer,strlen( buffer ) );
if ( res != 0 ) return res;
//R?eption du message
int len = 0;
res = cttsRtsp->ReadData(buffer,len);
if ( res != 0 ) return res;
et au final ca me donne comme erreur:
CTTSMrcpClient.cxx:7:30: CTTSMrcpClient.hxx: Aucun fichier ou répertoire de ce type
CTTSMrcpClient.cxx:11: erreur de syntaxes avantle jeton « :: »
CTTSMrcpClient.cxx:16: ISO C++ interdit la déclaration de « response » sans
type
CTTSMrcpClient.cxx:18: ISO C++ interdit la déclaration de « savedMsg » sans
type
CTTSMrcpClient.cxx:20: ISO C++ interdit la déclaration de « contentId » sans
type
CTTSMrcpClient.cxx:22: ISO C++ interdit la déclaration de « isSpeaking »
sans type
CTTSMrcpClient.cxx:24: ISO C++ interdit la déclaration de « myShutdown »
sans type
CTTSMrcpClient.cxx:27: ISO C++ interdit la déclaration de « parser » sans
type
CTTSMrcpClient.cxx:27: erreur d'analyse syntaxique avantle jeton « ( »
CTTSMrcpClient.cxx:30: ISO C++ interdit la déclaration de « cttsRtsp » sans
type
CTTSMrcpClient.cxx:30: erreur d'analyse syntaxique avantle jeton « ( »
CTTSMrcpClient.cxx:35: erreur de syntaxes avantle jeton « :: »
CTTSMrcpClient.cxx:45: erreur de syntaxes avantle jeton « :: »
CTTSMrcpClient.cxx:64: erreur de syntaxes avantle jeton « :: »
CTTSMrcpClient.cxx:76: erreur de syntaxes avantle jeton « :: »
CTTSMrcpClient.cxx:80: ISO C++ interdit la déclaration de « buffer » sans
type
CTTSMrcpClient.cxx:80: initialiseur invalide
CTTSMrcpClient.cxx:82: ISO C++ interdit la déclaration de « sprintf » sans
type
CTTSMrcpClient.cxx:82: liste d'initaliseurs a été traité comme une
expression composée
CTTSMrcpClient.cxx:85: l'opérande de base de «->» n'est pas un pointeur
CTTSMrcpClient.cxx:85: « strlen » n'a pas été déclaré dans cet horizon
CTTSMrcpClient.cxx:86: erreur d'analyse syntaxique avant « if »
CTTSMrcpClient.cxx:90: ISO C++ interdit la déclaration de « res » sans type
CTTSMrcpClient.cxx:90: redefinition of `int res'
CTTSMrcpClient.cxx:85: «int res» précédemment défini ici
CTTSMrcpClient.cxx:90: l'opérande de base de «->» n'est pas un pointeur
CTTSMrcpClient.cxx:91: erreur d'analyse syntaxique avant « if »
CTTSMrcpClient.cxx:99: « MrcpMsg » n'a pas été déclaré dans cet horizon
CTTSMrcpClient.cxx:99: « Sptr » est utilisé comme type, mais n'est pas
défini comme type.
==>je suis a peu prés d'accord sur le fait qu'il ne trouve pas le .hxx mais le reste....!
merci
[^] # Re: id
Posté par PachaFonk . Évalué à 3.
En général, qaund un compilateur trouve une erreur de ce type... il a du mal à retomber sur ses pattes et les erreurs suivantes ne sont pas significatives...
Donc : Commences par résoudre le fait qu'il ne trouve pas .hxx ... un -Ichemin/vers/le/hxx/ (à ajouter dans ton Makefile... si tu en as un) dans lers paramètres de g++ devrait faire l'affaire.
# Mais aussi
Posté par mizu . Évalué à -1.
--> []
# Eh ! Mon commentaire ?
Posté par Obsidian . Évalué à 2.
https://linuxfr.org/comments/602974.html#602974(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.