MFC调用libyara遇到的问题

测试结果

如果调用yara非要变成共享DLL的形式,加那么多的DLL,不如直接调用EXE文件。反而依赖vcruntime运行库的DLL少了很多。。。

调用libyara

调用libraya和C++调用动态链接库的基础没什么区别。

官方说明

https://yara.readthedocs.io/en/v3.4.0/capi.html

解决方法

项目->属性->配置属性->VC++ 目录-> 在“包含目录”里添加头文件yara.h所在的目录
项目->属性->配置属性->VC++ 目录-> 在“库目录”里添加头文件libyara.lib所在的目录
项目->属性->配置属性->链接器->输入-> 在“附加依赖项”里添加“libyara32.lib”

参考

c++动态库封装及调用(3、windows下动态库调用)

https://www.cnblogs.com/marblemm/p/7804056.html

error Please #define _AFXDLL or do not use /MD[d] occurs even after making changes in Project Properties

解决方法

Project -> "project" Properties -> Configuration Properties -> C/C++ -> Advanced -> Show Includes:YES(/showIncludes)

Project -> "project" Properties -> Configuration Properties -> General -> Project Defaults -> Use of MFC :Use MFC in a shared DLL

参考

https://stackoverflow.com/questions/25031009/error-please-define-afxdll-or-do-not-use-mdd-occurs-even-after-making-chang

原文地址:https://www.cnblogs.com/17bdw/p/10386392.html

时间: 2024-10-31 08:50:28

MFC调用libyara遇到的问题的相关文章

可以供MFC调用的,QT实现的DLL(qtwinmigrate实现)

MFC和QT的消息循环机制不同,所以,要让QT写的DLL可以供MFC调用,要做一点特殊的处理 [cpp] view plaincopyprint? #include <qmfcapp.h> #include <qwinwidget.h> #include <QtGui> #include <QtGui/QMessageBox> #include <windows.h> #include <QTextCodec> [cpp] view

mfc调用cmd执行完保留黑框

mfc调用cmd的方法有很多,本文采用 ShellExecute ShellExecute(AfxGetMainWnd()->m_hWnd,L"open",L"cmd",L"/k ping 127.0.0.1",NULL, SW_SHOW ); 如上,即可保留黑框, 如果使用: ShellExecute(AfxGetMainWnd()->m_hWnd,L"open",L"cmd",L"

MFC调用C动态库函数-----待补充

界面用MFC写 后台用写好的C程序就行了 C写的程序编译为dll,把用到的功能做成导出函数,在C++ w/MFC程序中调用 1.VC可以编译C函数动态库: 2.简单的dll编写例子(以最简单的两数相加函数为例): 创建工程项目Win32 Dynamic-Link Library. 加入头文件及源文件比如dll.h dll.cpp, 在头文件中:#ifndef DLL_H#define DLL_Hextern "C" int __declspec(dllexport)add(int x,

MFC调用WPF函数

1建立WPF工程 建立一个WPF工程,命名为WPFforMFC: 修改MainWindow.xaml代码: <Window x:Class="WPFforMFC.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title=&q

MFC 调用默认对话框类对象成员和方法

这个功能其实并不常用,然而在多线程和回调函数中要调用默认对话框类的对象成员或方法还是可能要用到的,所以做下记录. 首先声明一个全局变量用以存储默认对话框类对象指针: LPVOID pParam;//对话框对象指针 在默认对话框类的初始化函数中给该指针进行赋值: pParam = (void *)this; 在需要调用默认对话框类对象成员或方法处,通过如下代码实现调用: CPanoramicPlayerDlg *dlg = (CPanoramicPlayerDlg *)lpParam;//其中CP

MFC调用批处理文件(.bat)

通过MFC 对话框的点击按钮打开 服务控制面板 方法一: system("window命令") 比如: system("services.msc") 打开服务控制面板 方法二: 通过ShellExecute()函数 <span style="white-space:pre"> </span>#include <shellapi.h> <span style="white-space:pre&qu

MFC调用halcon生成的cpp内容

打开VS,文件——新建——项目——Visual C++——MFC——MFC应用程序,注意下图,其他默认.窗体1个Button.1个Picture Control [VS配置Halcon] 1.若halcon为64位,则其相应的文件也是64位的,所以选择x64.32位的同理. 2.项目——属性,C/C++——常规,附加包含目录里添加下图两个目录 链接器——常规,附加库目录中添加x64-win64,32位的就添加32位的. 链接器——输入,附加依赖项中添加HalconCpp.lib [MFC文件中添

MFC调用系统调色板和数据库备份和收缩日志

CColorDialog dlg; dlg.DoModal(); m_crCurColor = dlg.GetColor();//COLORREF m_crCurColor; BYTE r = GetRValue(m_crCurColor); BYTE g = GetGValue(m_crCurColor); BYTE b = GetBValue(m_crCurColor); 数据库备份 Declare @name varchar(250) EXEC Master..xp_cmdShell 'e

mfc学习---文档视图架构

MFC的AppWizard可以生成三种类型的应用程序:基于对话框的应用.单文档应用(SDI)和多文档应用(MDI). 一般情况下,采用文档/视结构的应用程序至少应由以下对象组成:       1.应用程序是一个CwinApp派生对象,它充当全部应用程序的容器.应用程序沿消息映射网络分配消息给它的所有子程序.       2.框架窗口是一CfrmeWnd派生对象.       3.文档是一个CDocument派生对象,它存储应用程序的数据,并把这些信息提供给应用程序的其余部分.       4.视