Я не знаю, чему соответствуют переменные в $linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs
, но проблема здесь в том, что компоновщик теперь отслеживает неопределенные объекты в порядке их обнаружения и разрешает только те объекты, которые ранее были пропущены. Это означает, что библиотеки должны быть указаны после , объекты, которым нужны их символы :-lboost_iostreams... -lglib-2.0
, должны идти после libparser.a
в вашем примере.
Использование sed
для создания новых имен для ваших каталогов:
for d in *; do
echo mv -- "$d" "$(echo "$d" | sed -E 's/(.*)-(.*)-(.*)/\3-\2-\1/')"
done
Соответствующие части в скобках повторно используются при замене в обратном порядке. Удалите первый echo
после тестирования.