背景:在原有程序编译和运行无误的条件下添加外部动态链接库,按照网上给出的链接库添加形式(在工程属性中添加相关路径,注意使用相对路径,见参考1),添加完成后在main函数的文件中添加动态链接库的头文件,出现报错。
参考1连接:(2条消息) 在VS工程中,添加c/c++工程中外部头文件(.h),lib库,dll库的基本步骤_芝士不知世的博客-CSDN博客
过程:
1 VS2019报错信息如下:
2 定位错误位置:
3 查找网上关于winnt.h文件报错处理过程
主要修改方向有二:
3.1 将PDWORD64 D10 更改,因为该头文件时系统文件,暂不可取;
3.2 将新增的头文件(动态链接库的头文件)在main函数中变更引用位置,即把该#include"dtljk.h"位置更改排序。原为指的是根据头文件文件夹中的排序来对应,我的头文件问价夹是分开的,无法对应顺序,因此只能测试。
4 根据3.2方案测试(系统的.h文件在最前面)
4.1 将#include"dtljk.h"放在#include"Ax.h"之后
该操作即是上面报错现象,即保winnt.h里面的错误;
4.2 将#include"dtljk.h"放在#include"Ax.h"之前
报错信息如下:
定位错误如下:
错误信息定位在Ax.h文件中,其后将CSP,更改为csp,编译通过。
该方式只是临时方案,问题暂时解决。
结论:自定义头文件在引用时也要注意顺序,同时更改定义的变量大小写只是临时方案,根本原因未知。
给自己做个记录。