Windowsの環境変数のpathで%hogehoge%が使えない
解決したいこと
色々あって、Point Cloud Library
をインストールしpath
を通しました。しかし、%hogehoge%
のあるpathだけうまく通らないため、直接記述すると上手く通りました。
ここで、疑問に思ったのが、ルートを使っているとはいえ、正常にpath
が通っているように見えるのになぜエラーがでるのかということです。
%hogehoge%
この書き方は間違っているとは思えないのですが。
だれか分かる方教えてください。
自分で試したこと
ここは別に気にしなくていいです。
Windows
版Point Cloud Library
をAll-in-one Installer
でインストールしました。
そのインストールの途中で、次の画像の様に以下のエラーが出てパスが長すぎるといわれました。
Warning! PATH too long installer unable to modify PATH!
ネットのインストール方法を見ていると無視していいとのことだったので、無視していました。
一応ネットで調べて環境変数の設定を調べて確かめましたが正常でした。
次の表に記載されている内容がネットでかかれていた正常なpath
であり、自分の環境でも入っていたものになります。
variable | path |
---|---|
OPENNI2_REDIST64 | C:\Program Files\OpenNI2\Redist\ |
PCL_ROOT | C:\Program Files\PCL 1.13.1 |
Path | %PCL_ROOT%\bin |
Path | %PCL_ROOT%\3rdParty\VTK\bin |
Path | %OPENNI2_REDIST64% |
この状態で、PCL
を使った自作のC++
のコードをCMake
でソリューションファイルを生成し、Visual Studio 2022
でビルドした.exe
ファイルを実行した。
しかし、次のようなエラーが出た。
pcl_iod.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
自分でもいろいろ試したが、これはpath
の%PCL_ROOT%\bin
が通っていないことが原因だったため、直接C:\Program Files\PCL 1.13.1\bin
としたところ、このエラーは出なかった。
しかし、別のエラーが出た。これは以下のファイルが見つからないといったものだった。
vtklOGeometry-9.2-gd.dll
vtklOPLY-9.2-gd.dll
vtklOImage-9.2-gd.dll
vtklOLegacy-9.2-gd.dll
これは調べると%PCL_ROOT%\3rdParty\VTK\bin
が通ってないことが原因だだったため、先ほどと同じく直接pathを通した。
よって最終的に、次の2つのpath
を通すことで問題は全て解決し、.exe
ファイルを実行することができた。
C:\Program Files\PCL 1.13.1\bin
C:\Program Files\PCL 1.13.1\3rdParty\VTK\bin
もちろん再起動とかは試してましたよ。