но блин как в линуксе формируются имена которые надо написать в проект для меня остается загадкой pcl_io вот откуда оно взялось?
Имя файла libpcl_io.so я собственно так и писал путь и libpcl_io но как оказалось надо было писать просто pcl_io
Я Вам на этот вопрос еще месяц назад ответил, первой же строкой своего сообщения.
Еще раз: ключ -lname означает, что надо найти и открыть файл libname.so
Разжевываю - приклеить спереди к строке "name" строку "lib" (три буквы "l", "i", "b"), а после name - строку ".so" (точку и буквы "s" и "o").
Полученный результат склеивания строк считать именем файла, который должен находиться в одной из заранее определенных директорий.
Если libname.so не найдется, поискать libname.a и включить его в результат целиком.
Если присутствует ключ -static, сразу искать файл libname.a
Ключ -L/path/to/libs задает линкеру дополнительные пути для поиска библиотек, в /usr/lib и /lib он и так полезет.
Все, что написано про ldconfig, к компиляции не относится.