bonjour je fait une application qui doit en lancée une autre, pour ce faire j'utilise un QProcess, ce programme fonctionne parfaitement sur Windows mais lors que je passe mon programme sur linux (un Raspbian 32) il ne fonctionne tout simplement plus, aucune erreur, il ne se passe juste rien.
le code
int console::createFile(const QString name, const int index){
QSettings room("room.ini", QSettings::IniFormat);
if(!room.contains("NbOpenPort")){room.setValue("NbOpenPort",1);}
if(!room.contains("NbOfRoom")){room.setValue("NbOfRoom",0);}
if(!room.contains("1")){room.setValue("1",2049);}
if(room.value("NbOpenPort").toInt()<=room.value("NbOfRoom").toInt()){
log("error all port is taken");
return(0);
}
room.setValue("NbOfRoom",room.value("NbOfRoom").toInt()+1);//on augmente le nombre de salle
QProcess* starter = new QProcess();
QStringList arg;
const int portPrefered = room.value(room.value("NbOfRoom").toString()).toInt();
arg.push_back(QString::number(portPrefered));//on met le port
arg.push_back(name);
starter->setArguments(arg);
starter->setProgram(settings->value("settings/serverPath").toString());
starter->start(settings->value("settings/serverPath").toString(),arg);
connect(starter, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
[=](int exitCode, QProcess::ExitStatus exitStatus){ console::finished(exitCode,exitStatus);});
if(0){
log("error on start server");
}else{
servName.append(name);
log("the demarage is down");
createPacket(index, "starting",QString::number(portPrefered));
}
return room.value(room.value("NbOfRoom").toString()).toInt();//on donne le port
}
void console::finished(int exitCode, QProcess::ExitStatus exitStatus){
//une erreur avec le serveur est survenus
if(exitCode!=0){
log("error on server: exit code "+QString::number(exitCode));
}
if(exitStatus==QProcess::CrashExit){
log("error on server: exit status crash");
}
}
les lignes qui nous intéresse sont de la ligne 12 a 40.
désolé d'avoir crée cette discussion mais c'est tout bête le chemin été pas bon (il ne faut pas qu’il finisse par .exe ).
merci tout de même !!!
QProcess ne fonctionne pas sur linux
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.