在非VS项目中包含VS DLL
Include VS DLL in non-VS project
我没有编写dll或Visual Studio的太多经验。基本上,我想使用在Visual Studio中创建的非vs(即Qt)项目的DLL。默认DLL (VS2010)的.h
文件为:
// test-lib.h
#pragma once
using namespace System;
namespace testlib {
public ref class Class1
{
//...
};
}
我能够构建DLL没有任何问题,但我不知道如何在我的Qt项目中包含它。也就是说,当我试图编译它时,我得到
. test-lib.h:6: error: C2871: 'System':一个带有这个名字的命名空间test-lib.h:10: error: C2059:语法错误:'public'test-lib.h:11:错误:C2143:语法错误:在"{"之前缺少";"等。
这是尽管我正在用VS2012的编译器编译,我的Qt版本也是用它构建的。有人知道我该怎么做吗?在我的.pro
文件中,我目前已将dll添加到LIBS
,是否还有其他dll需要添加?
假设您的DLL是用C语言编写的,带有符号导出等
typedef void (*NameOfMyDLLFunction)(double* data, int size);
QLibrary* myLibrary = new QLibrary("NameOfMyLibraryFile", this);
myLibrary->load();
NameOfMyDLLFunction dllFunction = reinterpret_cast<NameOfMyDLLFunction(myLibrary->resolve("dllFunction "));
现在你可以调用你的dllFunction(double* data, int size)
了
相关文章:
- 解析引用 |exe/dll vs lib
- MFC/DLL中缺少ATL :: CSTRINGT功能,该功能与Clang/vs-2019构建
- C# vs C++ DLL call
- 为什么 VS C++链接器返回具有混合 DLL 转发的"LNK2001: unresolved external symbol"?
- VS 2013 和 VS 2015 的不同C++可再发行 DLL
- 如何在VS项目中静态链接没有dll文件的cpprest?
- C++ VS:多 DLL 解决方案中的'new'和'delete'覆盖
- VS:程序无法启动,因为缺少libfftw3-3.dll
- VS C DLL-标量删除驱动器
- 使用cmake and vs在Windows上的现有代码中生成DLL
- DeleteFile (kernel32.dll) vs DeleteItem (shell32.dll)
- 在VS中编译程序,无需外部运行时DLL
- vs 2015 C 重新分布可在单个DLL中
- 我的计算机中缺少 SDL.dll - VS 2010
- 在VS中编译C++,而不需要在运行时使用MSVCP120D.dll
- Delphi and C/C++ DLL Struct vs.Record
- Windows xp 32bits d3d9.dll vs Windows 7 64bits d3d9.dll
- .exe vs .dll 作为一个程序的模块
- 使用 dll、pdb 文件和源在 VS C++ 中调试
- 在非VS项目中包含VS DLL