C#引入QT5环境下生成的DLL用不了,报错是无法加载 找不到指定模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#引入QT5环境下生成的DLL用不了,报错是无法加载 找不到指定模块相关的知识,希望对你有一定的参考价值。
用dependency walker查了缺少QT5CORE.DLL LIBSTDC++-6.DLL ,从网上下载后放入debug文件下还是报错
1、 必须为全局函数2、 函数参数 必须为基本类型,也就是C++ 和C#都有的类型,否则你在public static extern int GetProcAddress(int handle, String funcname);
这里没有办法声明。 其余的 没什么了;追问
你说 是这个DLL文件里的函数都必须是全局函数吗? 可是别人给的这个DLL式封装起来的,我无法看到别人怎么写的,我就是在VS2010里用C#写了一个测试他的程序时 出现错误了,后来用DEpendency walker 发现他依赖了好多DLL
参考技术A 添加引用--浏览,找到下载的dll。追问这个Dll是c++写的,不能那添加样天假引用 只能[DLLImpotr]
Windows下使用命令行编译Qt项目(解决DLL丢失问题)
一、前言
我之前用Qt做了个hello world,结果各种报错,一大堆DLL找不到,今天用命令行编译就通过了
二、准备工作
1.Visual Studio(有nmake就行)
2.Qt
3.把qmake添加进环境变量(我Qt的安装目录是E:QtQt5.9.0,qmake就在E:QtQt5.9.05.9mingw53_32in)
三、正式开始
首先,准备一个hello world项目
我这里为了演示,把.pro文件删了,接着打开vs命令行
报错,不理他
接着切换到项目路径(我这里是D:C++ est)
输入qmake -project
就生成了.pro文件(建议还是用Qt Creator生成的.pro文件,不然可能会报错)
接着输入qmake,生成Makefile文件
最后一步:输入nmake,编译
打开release文件夹,可以看见如下文件
双击即可运行
四、补充说明
在Qt Creator中可以直接运行,但是要发布项目的话,得用命令行工具生成,不然有可能报错
以上是关于C#引入QT5环境下生成的DLL用不了,报错是无法加载 找不到指定模块的主要内容,如果未能解决你的问题,请参考以下文章
QT5 提示:无法启动此程序,计算机丢失Qt5Widgetsd.dll的解决方法
IronPython 将python源码编译成dll,用python调用报错ImportError: dynamic module does not define...
Qt官方开发环境生成的exe发布方式--使用windeployqt(windeployqt是单独的程序,放在低版本qt4目录下也可以运行的)