网站 底部,成都seo推广员,杭州做网站seo,dedecms 建两个网站的问题今天#xff0c;在使用QtVS2019编译工程时#xff0c;弹出无法定位程序输入点xxx于动态链接库问题#xff0c;如图(1)所示#xff1a; 图(1) 报无法定位程序输入点xxx于动态链接库问题 出现这种问题的原因有很多#xff1a;
(1) 工程Release/Deb… 今天在使用QtVS2019编译工程时弹出无法定位程序输入点xxx于动态链接库问题如图(1)所示 图(1) 报无法定位程序输入点xxx于动态链接库问题 出现这种问题的原因有很多
(1) 工程Release/Debug与lib的Release/Debug不一致(2Qt的Path环境没有设置好应该区分工程的32或64位MSVC或MingW路径(3) 子类没有实现父类的虚函数导致编译报错。
解决方法如下
1 将lib库版本与工程的版本保持一致
若工程是Release版本的则引用的lib要改成Release的若工程师Debug版本的则引用的lib要改成Debug的即Release lib Release vs.slnDebug lib Debug vs.sln 比如工程本身是Debug版本而第三方lib库是Release的则需要将工程改成Release版本如图(2)所示 在VS里将菜单栏改成Release右击工程 --》属性 --》也改成Release --》应用。 图2菜单栏和工程属性要保持一致要么都为Release要么都为Debug 2 设置正确的Qt环境变量 Qt环境变量包括2种(A)Qt插件VS环境(B)纯Qt环境 (A)、(B)这2种环境不要同时配置到Path里。若同时配置到Path编译器会无法识别造成编译失败。
2.1 Qt插件VS环境
若工程是Qt-addin插件VS编译的则选择MSVC环境变量
64位 MSVC
path D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin;D:\Qt\Qt5.14.2\Tools\QtCreator\bin;64位的msvc Qt环境如图(3)所示 图(3) Qt的64位MSVC路径 32位 msvc
path D:\Qt\Qt5.14.2\5.14.2\msvc2017\bin;D:\Qt\Qt5.14.2\Tools\QtCreator\bin;32位的msvc Qt环境如图(4)所示 图(4) Qt的32位MSVC路径 2.2 纯Qt环境 若工程是纯Qt编译即采用Qt Creator编译则选择MingW环境。
64位 mingw64
path D:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin;D:\Qt\Qt5.14.2\Tools\mingw730_64\bin;64位的MIingW64路径如图5所示 图(5) Qt的64位MingW路径 32位 mingw32
path D:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin;D:\Qt\Qt5.14.2\Tools\mingw730_32\bin;32位的MIingW32路径如图6所示 图(6) Qt的32位MingW路径 2.3 重启电脑 配置Qt的Path环境变量之后要重启电脑环境才生效。 按AltF4快捷键选中重启下拉框即可重启。
3 实现父类的虚函数 有些lib库继承了一个虚函数类这个虚函数需要在子类里手动实现。可以在子类里加一个同名的函数覆盖它先保证编译通过再去调试相应的子模块。 //父类: Father
class Father {
public:Father() {}~Father() {}virtual void Print() 0;
};//子类:Child
class Child :Father {
public:Child() {}~Child() {}//重写父类的虚函数void Print() { std::cout hello\n; };
};