linux – “编译器线程支持未打开.”

前端之家收集整理的这篇文章主要介绍了linux – “编译器线程支持未打开.”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

通常情况下,我可以通过google方式找到解决方案,但这次不是.@H_301_2@

我正在使用64位Linux Ubuntu 11.04来编译32位Windows应用程序.我正在使用i586-mingw32msvc-gcc来编译我的C文件.@H_301_2@

TEST.CPP:@H_301_2@

@H_301_2@

#include 

生成文件:@H_301_2@

@H_301_2@

i586-mingw32msvc-gcc -c -m32 -mthreads -o test.o test.cpp

错误:@H_301_2@

@H_301_2@

boost/asio/detail/socket_types.hpp:
# include 

添加到makefile:-DBOOST_WINDOWS@H_301_2@

@H_301_2@

Error:
#   warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately

好的,添加到makefile:-D_WIN32_WINNT = 0x0501@H_301_2@

@H_301_2@

Error:
#   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux),-pthreads (Solaris) or -mthreads (Mingw32)"

但我确实指定了-mthreads.

最佳答案
添加-DBOOST_HAS_THREADS可能就足够了(参见offending header中#elif定义的__GNUC__).但是,您的boost安装可能/可能是为了支持您的构建环境而不是您的目标.使用交叉编译工具链尝试building it yourself.

猜你在找的Linux相关文章