По моему ключевым тут является сообщение:
>> error: ld returned 1 exit status
Насколько я понимаю - ld - это линковщик. И ему что-то не нравится. Вот он и выдаёт на выходе код "1". Обычно программы так поступают, когда хотят сообщить по завершении об ошибке. Если ошибки нет, то обычно возвращается 0.