问题:如何导入没有头和库文件的dll
Qt: how to import dll without header and lib files
我想包含此网站的dllhttp://projnet.codeplex.com/但它只提供了一个dll文件和一个xml文件,不包括头文件或lib文件。是否可以使用之类的东西导入dll
QLibrary geolib("ProjNet.dll");
geolib.load();
如果它有效(在本例中geolib.islooaded为true),那么我如何在Qt中使用它?
非常感谢!!!
这是一个用于.net框架的托管DLL,这解释了为什么它没有头文件。您将无法直接使用它。您需要包装它。例如,使用COM或作为混合模式C++/CLI DLL。
您可以以这种方式仅使用导出的函数(为此,您需要知道函数的名称和原型)。加载dll后,应该调用解析方法。例如,您希望使用从MyModule.dll导出的函数foo:
extern "C" Q_DECL_EXPORT void foo(int a)
你需要创建一个原型:
typedef void (*MyProto)(int)
然后解决:
QLibrary myDll("MyModule.dll");
if (myDll.load())
{
MyProto mp = reinterpret_cast<MyProro>(myDll.resolve("foo"));
}
不幸的是,ProjNet.dll没有导出。
相关文章:
- 挂起和取消挂起一个文件DLL
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- 将 dll 文件注入 UWP
- 加载"D:UsersPublicDocumentsopencvbuildx64vc14binopencv_world340d.dll",找不到或打开PDB文件
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 在使用 Clang 编译 DLL 时指定 DEF 文件
- 从 .lib 文件创建一个.dll文件
- 可执行文件C++包括.obj,.lib和.dll吗?
- python37.dll在可执行文件中未链接
- 链接器找不到导入的 DLL 的 LIB 文件
- DLL:当 SDK 头文件不使用 __declspec(dllexport) 时,我可以使用它吗
- sf::Windows上的音乐:api-ms-win-crt-locale-l1-1-0.dll:无法打开共享对象文件
- 如何在 CMake 超级生成中查找 dll/so 文件
- 在任何平台上执行任何Qt5应用程序的重要dll文件是什么(运行时文件dll)
- 在C++的应用程序中包括文件(dll,txt等.exe
- 反编译文件.dll
- 另一台电脑上的C++程序所需的文件/DLL