0

C では、FILE構造体 fromを使用stdio.hする場合、プログラマーがファイルを開こうとすると、現在の作業ディレクトリはビルド ディレクトリに対して相対的になります。

コンパイル時または実行時に CWD をソース ディレクトリに設定できるようにするために使用できる何らかの設定 (おそらくコンパイラ フラグ) はありますか? Windows から *nix へのクロスプラットフォームである方法が望ましいですが、それができない場合は *nix としましょう。

私は現在、Qt ライブラリなしで qmake を使用して、GCC/G++ を使用して Linux で作業しています。

FILEまた、私が C++ ではなく C IO メソッドを使用している主な理由は、std::ifstream誰かが尋ねた場合に備えて、単なる個人的な好みです。

4

1 に答える 1

1

chdir().pro ファイルで、ソース ディレクトリをマクロとして定義し、ソース コードで定義できます。

# myproject.pro
DEFINES+=SRCDIR=\\\"$$PWD\\\"

# myapp.cpp
int main(int argc, char** argv) {
    if (chdir(SRCDIR)) {
        perror("chdir to " SRCDIR);
    }
    // ... rest of code
}

Windows で動作させるには、.pro ファイル内のバックスラッシュの数をいじる必要がある場合があります。

于 2012-10-16T03:44:57.310 に答える