我无法使用MinGW在Linux for Linux上构建Boost(我无法创建 boost_thread_win32-mt-s )。
它是OS的一个版本:
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
这是mingw的一个版本:
# i586-mingw32msvc-g++ --version
i586-mingw32msvc-g++ (GCC) 4.2.1-sjlj (mingw32-2)
我下载了Boost版本1.50。 我试着建立它:
echo "using gcc : 4.2 : i586-mingw32msvc-g++ ;" > user-config.jam
./bootstrap.sh
./b2 --user-config=user-config.jam \
--with-thread \
--with-system \
-sNO_BZIP2=1 \
-sNO_ZLIB=1 \
--layout=tagged \
--build-type=complete \
link=static,shared \
runtime-link=static,shared \
threading=single,multi \
toolset=gcc \
target-os=windows \
address-model=32 \
release stage
后:
# pwd
/usr/src/boost_1_50_0/stage/lib
# ls -1
libboost_system-mt-s.a
libboost_system-mt.a
libboost_system-mt.dll
libboost_system-mt.dll.a
libboost_system-s.a
libboost_system.a
libboost_system.dll
libboost_system.dll.a
为什么我无法建立" boost_thread_win32-mt-s "或其他" boost_thread _XXX "?
答案 0 :(得分:1)
我解决了这个问题。我忘了提及Win (threadapi = win32)的线程模型。
解决方案:
echo "using gcc : 4.2 : i586-mingw32msvc-g++ ;" > user-config.jam
./bootstrap.sh
./b2 --user-config=user-config.jam \
--with-thread \
--with-system \
-sNO_BZIP2=1 \
-sNO_ZLIB=1 \
--layout=tagged \
--build-type=complete \
link=static,shared \
runtime-link=static,shared \
threading=single,multi \
toolset=gcc \
target-os=windows \
threadapi=win32 \
address-model=32 \
release stage
谢谢!