Я установил пакет наддува от Cygwin и есть каталог/USR/включать/импульс, который включает в себя кучу * .hpp файлов, в том числе thread.hpp, которые мне нужно включить в C++ файл, черезКак скомпилировать простую программу, используя boost :: thread в cygwin?
#include <boost/thread.hpp>
Кроме того, несколько файлов * .a, похоже, связаны с boost :: thread.
$ ls /usr/lib/libboost_thread* -1
/usr/lib/libboost_thread-gcc-mt-1_33_1.a
/usr/lib/libboost_thread-gcc-mt.a
/usr/lib/libboost_thread-mt.a
/usr/lib/libboost_thread-mt.dll.a
Как выглядит команда компиляции g ++? Я понимаю, что я должен использовать некоторую комбинацию -L -I и -l, но я не уверен, что подавать для каждого аргумента, и пока что ничего не работает для меня.
Я попытался следующие:
$ g++ test.cpp -lboost_thread-gcc-mt
/cygdrive/c/Users/jonderry/AppData/Local/Temp/ccaNCMaA.o:test.cpp:(.text$_ZN5boost6detail11thread_dataIPFvvEED
0Ev[boost::detail::thread_data<void (*)()>::~thread_data()]+0x16): undefined reference to `boost::detail::thre
ad_data_base::~thread_data_base()'
...
...
Не установил ли пакет install также готовые библиотеки? – usta
Возможно, но я не могу их найти. Каталог/usr/include/boost просто содержит кучу hpp-файлов. – jonderry
/usr/include для заголовков. Либы находятся в другом месте, возможно, в одном из/usr/lib,/usr/local/lib или/usr/share/lib - я точно не знаю, где для cygwin. Если ни один из них не содержит их, 'find/usr -name" libboost _ * "' поможет :) – usta