使用来自COM dll的非COM对象
Using a non-COM object from a COM dll
Visual Studio c++解决方案由两个c++项目组成:
- 客户端生成Client .exe
- 算法生成一个算法.dll
客户端和Algo通过COM层通信,因此Algo是一个COM dll。
我想在Algo.dll中添加一个函数,并直接从客户端调用它,避免COM层,但在构建Client.exe
时没有成功解决"未解析的符号"链接错误。尝试了什么?
在Algo项目中,我添加了LIBRARY_EXPORT预处理器定义和以下文件:TestFile.h
#ifdef LIBRARY_EXPORTS
# define LIBRARY_API __declspec(dllexport)
#else
# define LIBRARY_API __declspec(dllimport)
#endif
extern "C" LIBRARY_API bool __stdcall TestFunction();
TestFile.cpp
extern "C" LIBRARY_API bool __stdcall TestFunction()
{
return true;
}
在客户端项目中,有一个调用TestFunction();
我得到一个链接错误时,构建客户端:未解析的外部符号"__declspec(dllimport) bool __cdecl TestFunction(void)
显然,我没有正确地得到如何导出/导入我的函数。
您需要添加算法。.exe的链接器输入文件
相关文章:
- 如何将从控制台应用程序C++回调设置为C++ COM DLL
- 使用线程 C# 中的 VC++ 6.0 COM DLL
- 如何调试 COM DLL
- C++ 安全数组在从 c# COM dll 返回时具有无效数据
- WScript.CreateObject 在调用 C++ COM dll 函数时返回空
- 可视化 使用 C++ API 注册 COM DLL 的所有接口
- 如何返回包含来自com dll的多个空字符的BSTR
- 无法追加到 COM Dll 中的字符串 奇怪的行为
- 当InProcServer32键定义DLL的完整路径时,path环境变量中为什么需要COM DLL的路径
- 合并 c 可执行文件、托管 COM dll 和 .Net GUI
- 删除/编辑 ATL COM DLL 属性/方法
- 如何在不同的目标平台上以编程方式智能注册 32 位 COM/DLL 组件
- 客户端正在获取从C++COM dll返回的字节数组
- 在运行时在v110可执行文件中使用v90 COM dll是否安全
- Calling C# COM DLL from C++
- #导入COM DLL生成错误的方法签名
- C# COM-Interop dll for C++ COM dll 在 2 个解决方案之间不起作用
- 如何查找所有应用程序的COM dll
- 如何从C++非 COM dll 调试C++ COM dll
- 没有DllRegisterServer等的COM dll