【问题标题】:Building TBB on Windows using MingW & Cmake使用 MingW 和 Cmake 在 Windows 上构建 TBB
【发布时间】:2021-11-15 07:56:51
【问题描述】:

嘿,我正在尝试使用 MinGW 和 CMake 在我的 Windows 计算机上构建 TBB。 (gcc,,g++, ..) 我已经尝试过使用预制的二进制文件,但我不断收到未定义的参考问题。 我尝试导入的项目的 cmake 如下所示:

find_package(TBB REQUIRED tbb)

target_link_libraries(projectName PRIVATE ${TBB_IMPORTED_TARGETS})

我用https://github.com/oneapi-src/oneTBB/releases/tag/v2021.3.0的源码(最新)

我创建了一个构建目录并 cd 进入它并执行:

cmake .. -G "MinGW Makefiles"

接着是: cmake --build . 也试过: mingw32-make 两者都导致

[  1%] Building CXX object src/tbb/CMakeFiles/tbb.dir/address_waiter.cpp.obj
In file included from c:\users\refactor\downloads\onetbb-2021.3.0\onetbb-2021.3.0\include\oneapi\tbb\detail\_utils.h:26,
                 from C:\Users\Refactor\Downloads\oneTBB-2021.3.0\oneTBB-2021.3.0\src\tbb\address_waiter.cpp:17:
c:\users\refactor\downloads\onetbb-2021.3.0\onetbb-2021.3.0\include\oneapi\tbb\detail\_machine.h:67: error: ignoring '#pragma intrinsic ' [-Werror=unknown-pragmas]
   67 | #pragma intrinsic(_mm_mfence)
      |
compilation terminated due to -Wfatal-errors.
cc1plus.exe: all warnings being treated as errors
mingw32-make[2]: *** [src\tbb\CMakeFiles\tbb.dir\build.make:76: src/tbb/CMakeFiles/tbb.dir/address_waiter.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:454: src/tbb/CMakeFiles/tbb.dir/all] Error 2
mingw32-make: *** [makefile:165: all] Error 2```

【问题讨论】:

标签: c++ windows cmake mingw tbb


【解决方案1】:

如 cmets 中所述,使用最新版本的 TBB 构建 MinGW 存在问题。

我能够构建的最后一个 TBB 版本是 2020.0 使用此命令(将 intel64 替换为 ia32 对于 32 位):

mingw32-make compiler=gcc arch=intel64 runtime=mingw tbb tbbmalloc CPLUS="g++ -static-libstdc++ -static-libgcc"

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 2019-05-25
    • 2012-01-30
    • 1970-01-01
    • 2017-06-22
    相关资源
    最近更新 更多