私が作成した 2 つの Qt プロジェクトがあります。1 つはライブラリを構築し、もう 1 つはそのライブラリを使用する GUI を構築します。ライブラリを使用した私のプロジェクトには、私が作成した多数のシェーダーが含まれています。GUI 内で、これらのシェーダーへのパスを参照したいと考えています。私のアプローチは、ファイル システム上のライブラリへの参照パスgetLibraryPath()
を返すライブラリ内の静的関数を呼び出すことです。QString
およびパスを返す他の同様の関数を使用してみましQDir::currentPath()
たQApplication::applicationFilePath()
が、パスを取得する関数がライブラリ内にある場合でも、ライブラリのパスではなく、すべてGUIのパスを参照するパスを返します。
GUI 内で、次のようにしてシェーダーを参照しようとします。Shader->addShaderFromSourceFile(QGLShader::Vertex, MyExternalLib::getLibraryPath() + "/shaders/MyVertexShader.vs");