gpt4 book ai didi

c++ - 是否可以在 C++ Builder 中静态编译 boost::recursive_mutex

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:43 25 4
gpt4 key购买 nike

boost::recursive_mutexboost::lock_guard 似乎在 C++ Builder 2010 中使用 boost_thread-bcb-mt-1_39.dll。我看到还有静态版本 - boost_thread-bcb-mt-1_39.lib

我的代码是这样的:

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

但是,如果我将编译选项设置为 Release 并将 Dynamic RTL 选项设置为 False 我得到的只是 将 dll boost 库与静态运行时混合是一个非常糟糕的主意......。将动态 RTL 返回到 True 进行编译,但随后需要额外的 DLL - cc32100mt.dllboost_thread-bcb-mt-1_39.dll。。 p>

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

最佳答案

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

#define BOOST_THREAD_USE_LIB

就在之前:

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

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

关于c++ - 是否可以在 C++ Builder 中静态编译 boost::recursive_mutex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13860664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com