我安装从cygwin的升压包和具有目录/ usr /包括/升压包括一堆* .HPP文件,包括thread.hpp,这是我需要在C++文件以包括,经由如何在cygwin中使用boost :: thread编译一个简单的程序?
#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()'
...
...
未安装软件包还安装了预建库吗? – usta 2010-10-13 17:39:57
也许,但我找不到它们。目录/ usr/include/boost只包含一堆hpp文件。 – jonderry 2010-10-13 17:44:13
/usr/include用于标头。 Libs在其他地方,可能位于/ usr/lib,/ usr/local/lib或/ usr/share/lib之一 - 我不知道cygwin的确切位置。如果这些都不包含它们,'find/usr -name'libboost _ *“'会帮助:) – usta 2010-10-13 18:00:54