使用Visual Studio 2008和Boost庫1.46.1我要編譯和鏈接與/ CLR標誌如下:升壓線程與CLR
#include <boost/thread/thread.hpp>
void run() {}
int main(int argc, char *argv[])
{
boost::thread t(run);
}
的第一個錯誤是關於一個前置聲明僞結構在boost :: thread中。 This post 解決了這個問題通過聲明:
namespace boost {
struct thread::dummy {};
}
當然,我現在可以編譯,但後來我得到了連接器警告
警告1警告LNK4248:無法解析typeref令牌(0100001F)爲「boost.detail .win32._SECURITY_ATTRIBUTES';圖像可能無法運行
在
應用程序運行應用程序的結果無法正常啓動(0xc000007b)。
前面提到的論壇主題中的任何建議都不適用於我。我已經構建了一個靜態版本的Boost線程庫,並且它運行良好,沒有/ CLR標誌。調試/發佈沒有區別。我在Win7 32位下運行。
任何提示?
可能重複[boost mutex C++/CLI problems](http://stackoverflow.com/q/5670248/636019) – ildjarn 2011-05-24 00:25:52
@ildjarn:那是怎麼回事?這是一個鏈接器錯誤。鏈接的線程是運行時錯誤。 – 2011-06-05 17:31:19
@Matt:「*應用程序無法正確啓動(0xc000007b)。*」聽起來像是一個運行時錯誤。 – ildjarn 2011-06-05 19:57:37