2012-12-13 52 views
1

boost::recursive_mutexboost::lock_guard似乎使用boost_thread-BCB-MT-1_39.dll在C++ Builder的2010年。我看到,也有静态的版本 - boost_thread- bcb-mt-1_39.lib是否有可能在C++ Builder的静态编译的boost :: recursive_mutex

我的代码是这样的:

boost::recursive_mutex mylock; 
//... 
boost::lock_guard<boost::recursive_mutex> lock(mylock); 

但是,如果设置了编译选项发布并设置动态RTL选项我得到的是混合有一个dll boost库静态运行时间是一个非常糟糕的主意......。返回动态RTL到编译但它需要额外的DLL - cc32100mt.dllboost_thread-bcb-mt-1_39.dll

有没有办法在单个exe中静态编译它?毕竟,提供了LIB文件,它应该是可能的。这是C++ Builder或Boost版本的问题吗?

回答

1

我需要的是在头文件中定义:

#define BOOST_THREAD_USE_LIB 

权之前:

#include <boost/thread/recursive_mutex.hpp> 
#include <boost/thread/locks.hpp> 

然后它编译没有任何问题之后。

相关问题