我在嘗試在C++ Builder中包含<boost/thread.hpp>
時收到警告。對於我包含它的每個單元,C++ Builder顯示了這2行:在C++ Builder中編譯Boost庫時的警告
thread_heap_alloc.hpp(59): W8128 Can't import a function being defined
thread_heap_alloc.hpp(69): W8128 Can't import a function being defined
已經嘗試了一些東西,但沒有工作。
它編譯正確,但是,它正在我的神經上。爲什麼顯示此消息?
的線是:
#include <boost/config/abi_prefix.hpp>
namespace boost
{
namespace detail
{
inline BOOST_THREAD_DECL void* allocate_raw_heap_memory(unsigned size)
{
void* const eap_memory=detail::win32::HeapAlloc(detail::win32::GetProcessHeap(),0,size);
if(!heap_memory)
{
throw std::bad_alloc();
}
return heap_memory;
}
inline BOOST_THREAD_DECL void free_raw_heap_memory(void* heap_memory)
{
BOOST_VERIFY(detail::win32::HeapFree(detail::win32::GetProcessHeap(),0,heap_memory)!=0);
}
其中59是BOOST_THREAD_DECL
低於{
,由於是69看起來像BOOST_THREAD_DECL
定義不正確或錯誤定義,試圖通過升壓代碼遵循不說簡單。
這是升壓1.39。
你用什麼版本的Boost?你在'thread_heap_alloc.hpp'的上面幾行看到了什麼? – 2013-05-08 16:45:16
我正在使用XE4。這是發生錯誤的文件:http://www.xup.in/dl,47109567/thread_heap_alloc.txt/ – Henry 2013-05-08 19:02:23
如果您使用Boost 1.53,該怎麼辦? 1.39於4年零7天前發佈... – kennytm 2013-05-08 19:11:39