7680x4320の日記

低解像度です。

Point Cloud Libraryが一部のCPUでビルドできなかったのを修正

だいぶ前のことですが、Point Cloud Library (PCL)を一部のCPUでビルドできなかったのを修正し、Pull requestしました。

github.com

GCC-marchというオプションはCPU固有のアーキテクチャを指定して最適化するオプションなので、アーキテクチャによってはそもそもこのオプションが存在せず知らない引数が指定されているとしてビルドに失敗してしまいます。

PCLはCMakeを使っているので、当該オプションを指定している箇所でcheck_cxx_compiler_flagを使ってコンパイラ-marchというオプションを持っているかチェックし、なければ代わりに-mtuneを使うように変更しました*1

今日日使われていそうな非IntelアーキテクチャというとARMかPowerPCだと思いますが、ARMには-marchがあるようなので、PowerPCでPCLをビルドする人*2には意味があるのかなといったところです。

*1:このフラグをセットするcmakeファイルとその変数名からするとSSEが前提なのでアレですが

*2:いますか?