У меня была похожая проблема, и Google отправил меня сюда - я думал, что опубликую свое решение.
Для меня компилятор запутался в том, использовать ли c или c ++.
Поскольку я намереваюсь написать c ++, я последовал примеру, но использовал опцию swing -c ++ и использовал g ++ вместо gcc в качестве компилятора.
Однако мой инструмент для сборки (boost.build или bjam) видел «example.c» и компилировал с
g ++ -xc -O2 -fPIC -c example.c
Флаг "-xc" указывает код c, который включен в bjam из-за расширения файла example.c.Это привело к тому, что ссылки на квакали аналогично запросу справки.
Я изменил имя «example.c» на «example.cpp» (который удаляет флаги -xc при использовании bjam) исвязывание затем продолжилось нормально.
Мне понадобилось немного времени, чтобы определить это, так что, возможно, я сэкономлю кому-то 30 минут в один день.