C++11 eclipse上TBB的编译错误

C++11 eclipse上TBB的编译错误,c++11,tbb,C++11,Tbb,我知道有一个帖子问了一个类似的问题,我读了它,但是 我仍然无法解决这个问题! 以下是编译错误: 13:28:28 **** Rebuild of configuration Debug for project test2 **** Info: Internal Builder is used for build g++ "-IC:\\MinGW\\tbb\\tbb43_20150611oss\\include" -O0 -g3 -Wall -c -fmessage-len

我知道有一个帖子问了一个类似的问题,我读了它,但是 我仍然无法解决这个问题! 以下是编译错误:

    13:28:28 **** Rebuild of configuration Debug for project test2 ****
    Info: Internal Builder is used for build
    g++ "-IC:\\MinGW\\tbb\\tbb43_20150611oss\\include" -O0 -g3 -Wall -c -fmessage-length=0 -ltbb -std=c++11 -o "src\\test2.o" "..\\src\\test2.cpp" 
    g++ "-IC:\\MinGW\\tbb\\tbb43_20150611oss\\include" -O0 -g3 -Wall -c -fmessage-length=0 -ltbb -std=c++11 -o "src\\SnipSequence.o" "..\\src\\SnipSequence.cpp" 
    g++ "-LC:\\MinGW\\tbb\\tbb43_20150611oss\\lib" -o test2 "src\\test2.o" "src\\SnipSequence.o" 
    src\SnipSequence.o: In function `run':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/parallel_for.h:90: undefined reference to `tbb::task_group_context::~task_group_context()'
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/parallel_for.h:90: undefined reference to `tbb::task_group_context::~task_group_context()'
    src\SnipSequence.o: In function `ZN3tbb18task_group_contextC1ENS0_9kind_typeEj':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/task.h:450: undefined reference to `tbb::task_group_context::init()'
    src\SnipSequence.o: In function `ZN3tbb4taskC2Ev':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/task.h:553: undefined reference to `vtable for tbb::task'
    src\SnipSequence.o: In function `ZN3tbb4taskD2Ev':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/task.h:557: undefined reference to `vtable for tbb::task'
    src\SnipSequence.o: In function `ZnwjRKN3tbb8internal32allocate_root_with_context_proxyE':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/task.h:998: undefined reference to `tbb::internal::allocate_root_with_context_proxy::allocate(unsigned int) const'
    src\SnipSequence.o: In function `ZdlPvRKN3tbb8internal32allocate_root_with_context_proxyE':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/task.h:1002: undefined reference to `tbb::internal::allocate_root_with_context_proxy::free(tbb::task&) const'
    src\SnipSequence.o: In function `ZnwjRKN3tbb8internal27allocate_continuation_proxyE':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/task.h:1007: undefined reference to `tbb::internal::allocate_continuation_proxy::allocate(unsigned int) const'
    src\SnipSequence.o: In function `ZdlPvRKN3tbb8internal27allocate_continuation_proxyE':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/task.h:1011: undefined reference to `tbb::internal::allocate_continuation_proxy::free(tbb::task&) const'
    src\SnipSequence.o: In function `ZN3tbb10interface78internal16allocate_siblingEPNS_4taskEj':
    C:/MinGW/tbb/tbb43_20150611oss/include/tbb/parallel_for.h:120: undefined reference to `tbb::internal::allocate_child_proxy::allocate(unsigned int) const'
    src\SnipSequence.o:SnipSequence.cpp:(.rdata$_ZTVN3tbb10interface78internal9flag_taskE[__ZTVN3tbb10interface78internal9flag_taskE]+0x14): undefined reference to `tbb::task::note_affinity(unsigned short)'
    collect2.exe: error: ld returned 1 exit status
我在链接器部分和eclispe的包含部分尝试了很多东西。我试图更改-ltbb和-std=c++11的顺序。我还是不能编译。我相信还有其他人有这个问题


我无法解决这个问题:

好,首先在目录中安装MSYS2的副本。可在此处找到:

安装完成后,打开MSYS2提示符并执行此行: pacman-S mingw-w64-i686-gcc mingw-w64-i686-make mingw-w64-i686-intel-tbb

然后在MSYS目录文件中搜索gcc.exe,并将其添加到系统路径中

在eclispe中,在项目属性的-L选项中添加C:\msys64\mingw64\lib,在-L选项中添加tbb,并在-I选项中添加C:\msys64\mingw64\include

如果需要,在编译器标志和索引器中添加-std=c++11
希望消除某些仅在Eclipse中显示的错误。瞧

在项目属性的链接器部分,我添加了tbb的lib文件夹。我已经用ia32 all和intel64 all命令运行了批处理文件,并尝试了是否更改了某些内容!那是你想知道的吗@melak47您已经在库路径下添加了文件夹,但是您还需要在Libraries下添加库:@melak47 nop它在那里。但是我应该在链接器中的-l选项中添加什么呢?我试过很多东西,但都不管用!“代码> > LTBB<代码>出现在编译器调用中,如果我把TBB放在链接器的-L PAR或链接标志中的-LTBB中,我得到C:/MIW/BI/…/LIGB/GC/CIMW32/4.93/..…/MIW32/BI/L.EXE:找不到-LTBB,我可以把它放在编译器标志中,即……ltbb-std=c++11。。。