Я думаю, что ваша команда сборки неверна.Вы явно перечисляете архивную библиотеку необычным образом, и я думаю, что GCC игнорирует или неправильно интерпретирует ее.
Попробуйте разделить сборку на два этапа.Один шаг, чтобы скомпилировать файл .cpp в .o, а затем еще один, чтобы связать .o с архивной библиотекой boost_thread и создать исполняемый файл.
g++ -I/home/sharatds/Downloads/boost_1_46_1 main.cpp -o main.o
g++ main -o ini -L/home/sharatds/Downloads/boost_1_46_1/stage/lib/ -lboost_thread
Первая строка выше компилирует ваш main.cpp вобъектный файл.Вторая строка связывает ваш объектный файл с библиотекой boost_thread.Аргумент -L во многом похож на аргумент -I, но обеспечивает путь поиска для библиотек, а не для включения файлов.
Кроме того, я подозреваю, что ваш аргумент -I на самом деле должен быть
-I/home/sharatds/Downloads/boost_1_46_1/stage/include
, чтобы вы включали заголовки из результатов компоновки, а не из самого исходного дерева.Просто на этом догадываюсь.