我正在尝试使用命令从 Boost 构建“系统”库:
bjam --toolset=gcc target-os=qnx --build-dir=c:\boost_1_57_0 --build-type=complete --with-system stage
不断报错:
C:\boost_1_57_0>bjam --toolset=gcc target-os=qnx --build-dir=c:\boost_1_57_0 --build-type=complete --with-system stage ...found 1 target... ...updating 1 target... config-cache.write c:\boost_1_57_0\boost\bin.v2\project-cache.jam ...updated 1 target...
Component configuration:
- atomic : not building - chrono : not building - container : not building - context : not building - coroutine : not building - date_time : not building - exception : not building - filesystem : not building - graph : not building - graph_parallel : not building - iostreams : not building - locale : not building - log : not building - math : not building - mpi : not building - program_options : not building - python : not building - random : not building - regex : not building - serialization : not building - signals : not building - system : building - test : not building - thread : not building - timer : not building - wave : not building
...found 205 targets... ...updating 4 targets... gcc.link.dll c:\boost_1_57_0\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\debug\target-os-qnx\threading-multi\libboost_system-mgw48-mt-d-1_57.so.1.57.0 c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lrt collect2.exe: error: ld returned 1 exit status
"g++" -o "c:\boost_1_57_0\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\debug\target-os-qnx\threading-multi\libboost_system-mgw48-mt-d-1_57.so.1.57.0"
-shared -Wl,--start-group "c:\boost_1_57 _0\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\debug\target-os-qnx\threading-multi\error_code.o" -Wl,-Bstatic -Wl,-Bdynamic -lrt -Wl,--end-group -g -pthread
...failed gcc.link.dll c:\boost_1_57_0\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\debug\target-os-qnx\threading-multi\libboost_system-mgw48-mt-d-1_57.so.1.57.0... ...skipped libboost_system-mgw48-mt-d-1_57.so.1.57.0 for lack of libboost_system-mgw48- mt-d-1_57.so.1.57.0... gcc.link.dll c:\boost_1_57_0\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\target-os-qnx\threading-multi\libboost_system-mgw48-mt-1_57.so.1.57.0 c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lrt collect2.exe: error: ld returned 1 exit status
"g++" -o "c:\boost_1_57_0\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\target-os-qnx\threading-multi\libboost_system-mgw48-mt-1_57.so.1.57.0"
-shared -Wl,--start-group "c:\boost_1_57 _0\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\target-os-qnx\threading-multi\error_code.o" -Wl,-Bstatic -Wl,-Bdynamic -lrt -Wl,--end-group -pthread
...failed gcc.link.dll c:\boost_1_57_0\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\target-os-qnx\threading-multi\libboost_system-mgw48-mt-1_57.so.1.57.0... ...skipped libboost_system-mgw48-mt-1_57.so.1.57.0 for lack of libboost_system-mgw48- mt-1_57.so.1.57.0... ...failed updating 2 targets... ...skipped 2 targets...
rt lib 似乎丢失了,我在哪里可以获得这样的 lib 以成功编译'system' lib?
最佳答案
我的问题的解决方案:
- 首先要做的是获取 MinGW 并将其放在 C:\MinGW 下。
- 在 C:\MinGW\bin 中应该有 gcc
- 运行命令。
- 在boost(默认C:\boost_1_57_0)主文件夹
- 使用命令设置路径:'set PATH=c:\mingw\bin;%PATH%'
- 转到 boost 文件夹的 tools\build 目录并运行“bootstrap mingw”
- 要在根目录类型中构建系统库:
- 'tools\build\b2 toolset=gcc --target-os=qnxnto --build-type=complete stage --with-system'
- .a 文件将在 stage\libs 文件夹中
关于c++ - 构建 Boost 系统库失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27687681/