2016-11-24 11 views
0

私はvs 2013ソリューションで2つのプロジェクトを持っています。最初のプロジェクトはコマンドラインプロジェクトであり、もう1つのプロジェクトはユーザーがさまざまなオプションを選択して最初のプロジェクトを呼び出すことを可能にするユーザーインターフェイスです。 Project1の実行を取得dosen'tとQDir::currentPath()リターンがデータをnonsenceしかし、私はproject1 (console)QDirメインqtプログラムから別のプログラムを起動するディレクトリを変更します

QProcess *process = new QProcess(this); 
QDir::setCurrent("build/GPURenderDemo/Debug"); 
std::cout << QDir::currentPath().toStdString() <<endl; 

process->start(QString::fromStdString(getConstructedArgs())); 

を開始するには、次のコードを使用しqt

solution 
--Project1 (console) 
---Debug folder 
--Project2 (GUI) 

D:/******/build/GUI0000000063F0A785 

答えて

0

あなたはQProcess::setWorkingDirectory()

0

QDir::setCurrentは、現在のプロセスの作業ディレクトリを設定し、参照、直接QProcessの作業ディレクトリを設定することができ、これはあなたが何を意味ですか?また、boolを返すので、成功したかどうか、常にチェックする価値があるかどうかを確認できます。

起動しているコンソールプロセスの作業ディレクトリをQProcess::setWorkingDirectoryに設定できます。

私は、あなたの意図についてさらに詳しく説明することはできません。

+0

私の意図は、最初のプロジェクトのデバッグフォルダにアクセスして起動することです。私の問題は、最初のプロジェクトのデバッグフォルダーへのパスを見つけることです。 **絶対フォルダパス**は動作しますが、私は最初のプロジェクトのデバッグフォルダ**の相対フォルダパス**を渡したいと思っています – test11

+0

私は完全に理解していませんが、以下のものが使用されるかもしれません: 'QCoreApplication :: applicationDirPath'(プログラムの実行ファイルが存在するディレクトリを取得)と 'QDir :: relativeFilePath'(別のファイルまたはディレクトリへの相対パスを取得します。 – Benp44

関連する問題