Closed sennnnn closed 4 years ago
dll已经被添加到Path用户变量里面,是不行的,之后把dll就和exe放在同一目录下也不行的,而后我再把dll放在system32下面还是不行的
无法定位程序输入点...于动态链接库...
这个意思是能找到dll文件,但是找不到对应的库入口。原因可能很多,但我猜是你在32位的程序中使用了我编译的64位 OpenCV-4.1.1-x64 导致的,生成64位目标程序就可以了。
@sennnnn 现在怎么样了?若是解决了,我将关闭这个 issue。
感谢作者,暂时先关闭吧,目前已经转为使用 msvc 了,等过一段时间再来转回 MinGW
这次我大致弄清楚了,
无法定位程序输入点_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE
这个错误是因为anaconda 中的 LIBSTDC++-6.DLL 与 MinGW64 的LIBSTDC++-6.DLL 冲突所导致的,在配置环境变量时将 MinGW64 的 bin 路径移到高于 anaconda 的 mingw-w64/bin 路径更高优先级的位置就可以了。
your stdc++ version is too older than what the libopencv is compiled with.
the opencv3.4 is compiled with gcc7, and the document of the repo says gcc8, i think the opencv4 maybe compiled with gcc8.
make sure you link a newer stdc++.dll during runtime.
这次我大致弄清楚了,
无法定位程序输入点_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE
这个错误是因为anaconda 中的 LIBSTDC++-6.DLL 与 MinGW64 的LIBSTDC++-6.DLL 冲突所导致的,在配置环境变量时将 MinGW64 的 bin 路径移到高于 anaconda 的 mingw-w64/bin 路径更高优先级的位置就可以了。
牛,这个问题真的把我搞死,果然是 Conda 搞的鬼。
@sennnnn 我也遇见了这个问题,但是我没有安装ancoda,
我这种的话该怎么处理啊
@sennnnn @ycdhqzhiai
Found that one import _ZNSi5seekgESt4fposIiE
from libstdc++-6.dll
has changed in newer versions of GCC.
For my current setup (MinGW-w64 12.2.0), the signature now becomes _ZNSi5seekgESt4fposI9_MbstatetE
.
More mismatches may exist as well.
To solve this problem, use a libstdc++-6.dll
from older versions of MinGW.
@huihut
I suggest adding -static-libstdc++
when building to eliminate the dependency on specific versions of MinGW.
神仙谢谢
编译环境: 作者提供的编译工具包
这是我的makefile:
这是我的main.cpp:
这是执行输出的a.exe得到的结果: