我想使用MINGW + tbb + opencv当我尝试时。问题是我在运行opencv测试或某些程序时遇到错误。 例如
test_job_automaton.exe - 找不到入口点
无法在动态链接库c:\ tbb \ build \ windows_ia32_gcc_mingw4.9.1_debug \ test_job_automaton.exe中找到过程入口点__gxx_personality_v0。
或
LIBFR.exe - 找不到入口点
无法在动态链接库D:\ Dropbox \ face sdks \ QTprojects \ build-libfr-Desktop_Qt_5_4_0_MinGW_32bit-Release \ release \ tbb.dll中找到过程入口点__gxx_personality_v0。
我在tbb dir中运行此命令来构建它
mingw32-make arch=ai32 compiler=gcc -j4
它可以构建3个dll,也可以使用这些dll构建opencv,但运行不是
我尝试过Mingw 4.9.1以及4.8.2
我发现我应该尝试使用g ++,但是对于Windows,我尝试使用它时不支持
我也尝试过使用mingw32和mingw32-w64
当我尝试在tbb中构建rml时,我得到同样的错误,因此您不必尝试安装opencv来找出问题。
要构建rml,我使用此命令
mingw32-make arch=ai32 compiler=gcc -j4 rml
我也尝试了4种不同版本的tbb
任何想法?
答案 0 :(得分:0)
缺少__gxx_personality_v0
suggests(如您所述)该程序必须以不同方式链接,例如通过g++
启用C ++异常处理并链接C ++运行时。所以真正的问题不在于TBB,而在于你无法使用g++
。我安装MinGW后,工作正常。如果你能够构建TBB,它还假设g++
有效,因为它用于构建TBB。
例如,您可以看到在编译TBB和测试时如何使用g ++:
mingw32-make -rj compiler=gcc tbb test_task -C src
另外,我怀疑你是否需要RML。
如果您确实无法启用RTTI和异常处理,您可以尝试在没有异常支持的情况下构建TBB:
mingw32-make -rj compiler=gcc clean tbb CXXFLAGS=-DTBB_USE_EXCEPTIONS=0
答案 1 :(得分:0)
问题是GnuPG的安装还有libstdc ++ - 6.dll来自不同版本的mingw,它自动添加到我的路径中,而make正在使用这个dll而不是gcc目录中的那个,将其从路径让一切顺利,谢谢你的帮助