QProcess::startDetached - setEnvironment nie działa.

0

Piszę w Qt4 program linuxowy który poprzez QProcess ma uruchamiać inne programy zainstalowane pod wine
(wine to emulator winapi dla linuxa).
Zrobiłem to w ten sposób:

QString winePREFIX_ = "/home/niko/.wineruni";
QString fileNameWinExec= "/home/niko/.winruni/drive_c/test/runi.exe";
QProcess *myProcess;
QStringList env = QProcess::systemEnvironment();
env << "WINEPREFIX=" + winePREFIX_;
myProcess = new QProcess;
myProcess->setProcessChannelMode(QProcess::MergedChannels);
myProcess->setEnvironment(env);
QString program = "wine";
QStringList arguments;
arguments << fileNameWinExec;
myProcess->start(program, arguments);

Ten sposób dobrze uruchamia program runi.exe, ale program runi.exe
źle mi działa ponieważ musi on być uruchomiony jako niezależny proces.
Żeby aplikację uruchomić jako niezależny proces można użyć:

myProcess->startDetached(program, arguments);

Jednakże startDetached nie przyjmuje zmiennych środowiskowych przekazywanych przez:

myProcess->setEnvironment(env);

Czyli nie mogę uruchomić wine z prefixem, a jest to bardzo ważne.
Kilka dni się już z tym męczę i nie jestem w stanie nic wymyślić.
W google też niczego nie znalazłem.

0

I co, nikt mi nie pomoże?

0

Ja nie mam takiej możliwości, ale wątek powinien być usunięty, bo z tego co widzę to i tak nie doczeka się nigdy rozwiązania
a niepotrzebnie zaśmieca wyszukiwarkę google.
Widzę że prawdziwi fachowcy z tego forum wyginęli więc pomocy trzeba szukać gdzie indziej.
Z mojej strony wątek uważam za zamknięty.

0

jako prawdziwy fachowiec mogę powiedzieć trzy rzeczy:

niko napisał(a)

wine to emulator winapi dla linuxa

  1. wine nie jest emulatorem (o czym świadczy sama nazwa)
  2. sprwadzałeś tutaj ?
  3. Rozwiązałeś problem?
0

a próbowałeś przeciążyć tę metodę? (klik)

1 użytkowników online, w tym zalogowanych: 0, gości: 1