Повысить ошибку компоновки mingw - PullRequest
0 голосов
/ 23 ноября 2011

Кажется, у меня проблема со связыванием для повышения библиотек с помощью mingw на windows. Я ищу высоко и низко в google и stackoverflow, но ни один из ответов не решил проблему.

Не удается найти или указать ссылку на "-lboost_threads". Получение «неопределенной ошибки» при компиляции.

Может быть, кто-то, кто знает, как помочь мне решить эту проблему.

Использование boost v1.48 и mingw на windows.

EDIT:

Ошибка в том, что "... mingw32 / bin / ld.exe не может найти -lboost_thread", как это обычно бывает в этом случае.

Спасибо.

1 Ответ

2 голосов
/ 24 ноября 2011

Аргумент командной строки компоновщика -lboost_thread означает, что компоновщик должен искать boost_thread в своем library paths (который можно добавить с помощью -Lpath/to/library. Он пытается найти библиотеку в файле с одним из следующих имен файлов :

  • libboost_thread.a (архивная библиотека типа GCC - это то, что вам нужно в данном случае)
  • boost_thread.lib (MSVC libs - обратите внимание, что MinGW может связать их, если они в C, а не в C ++))
  • и еще пара расширений (не актуально).

В любом случае, это сообщение об ошибке означает, что компоновщик не может найти такую ​​библиотеку в путях включения. Проверьте, где находится файл библиотеки (вы должны это знать); если он находится в папке lib вашего компилятора, то он уже находится в том месте, где ваш компоновщик найдет его. Может быть, вы ошиблись именем? В противном случае добавьте соответствующий аргумент командной строки -L, чтобы компоновщик знал, где искать файл.

(также boost_thread или boost_threads?)

...