Salutations. J'étudie la façon dont l'encodage mpeg layer-III fonctionne pour un projet à venir. J'ai téléchargé l'encodeur de brillance car il est dit être le plus simple de tous. http://www.mp3-tech.org/programmer/sources/shine.zip est le lien.Essayer d'étudier brillance encodeur MPEG Layer-III - obtenir "redéclaration de type intégré C++ 'bool'"
J'ai réussi à les compiler dans un projet autonome, mais je dois les utiliser dans un projet QT.
J'ai fait un nouveau projet de console vide dans QT et ajouté comme existant tous les fichiers qui ont déjà été compilés avec succès pour moi (fichiers de shine.zip).
Ceci est mon main.cpp:
#include <QtCore/QCoreApplication>
#include "main.h"
int main(int argc, char *argv[])
{
// QCoreApplication a(argc, argv);
// return a.exec();
mainc(argc,argv);
}
Ceci est main.h:
#ifndef MAIN_H
#define MAIN_H
#include "main.c"
#endif // MAIN_H
tout le reste est intact (je veux dire, sans ces deux fichiers, il compilé avec succès et a travaillé)
Je reçois maintenant une erreur à cette partie
#ifndef bool
typedef unsigned char bool; <--- "redeclaration of C++ built-in type 'bool'"
#endif
Avant il n'y avait pas d'erreur ici. D'après ce que je comprends une présence d'un fichier cpp fait tout le code compiler en C++ et le code de brillance est c, pas C++ ... Cela signifie que je ne peux pas utiliser le code c dans un projet qui utilise QT classes QCoreApplication?
Merci! Ok je vois, donc, ce que je devrais avoir fait, est de faire un fichier d'en-tête que j'inclue dans mon fichier main.cpp, ce fichier d'en-tête devrait faire cette déclaration et ensuite le fichier avec le même nom que cette entête .c devrait contenir l'implémentation, droite? Je veux dire, maintenant c'est de travailler pour moi, mais je ne peux pas être sûr que je l'ai bien fait ... – Istrebitel
@Istrebite: oui, ça sonne bien. –