error C2065: “dllexport”: 未声明的标识符

本文分享了在实现DLL动态链接库过程中遇到的dllexport标识符未声明的问题及解决方法,通过对代码细节调整成功编译。

最近在看一个dll动态链接库的pdf文档


demo代码如下

#ifndef LIB_H
#define LIB_H
extern  "C"  int_declspec(dllexport)  add(int x,int y);
#endif

/*文件名:lib.cpp*/
#include "lib.h"
int add(int x,int y)
{
    return x+y;
}
但是运行下来之后发现一直提示如下错误

 error C2065: “dllexport”: 未声明的标识符


这让我感到大为惊骇,因为我的代码和文档中的代码是一样的


后来查阅资料,并且在头文件中做了改动


extern  "C"  _declspec(dllexport) int add(int x,int y);


编译,顺利通过


这件事情给力我一个启发,就是说不要迷信,带着批判的角度去学习,吸收新的知识


参考过的资料

http://blog.sina.com.cn/s/blog_6a2236590100xbh8.html

G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(339): error C2065: “g_CacheCount”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(340): error C2065: “g_Cache”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(340): error C2109: 下标要求数组或指针类型 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(343): error C2065: “g_Cache”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(343): error C2109: 下标要求数组或指针类型 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(342): error C2198: “ref”: 用于调用的参数太少 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(344): error C2065: “g_Cache”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(344): error C2109: 下标要求数组或指针类型 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(344): warning C4033: “CL_DrawCharUnified”必须返回值 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(348): error C2065: “g_CacheCount”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(348): error C2065: “MAX_GLYPH_CACHE”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(352): warning C4566: 由通用字符名称“\u274C”表示的字符不能在当前代码页(936)中表示出来 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(378): error C2065: “glyph_cache_t”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(378): error C2065: “e”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(378): error C2065: “g_Cache”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(378): error C2065: “g_CacheCount”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(378): error C2109: 下标要求数组或指针类型 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(379): error C2065: “e”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(379): error C2223: “->codepoint”的左侧必须指向结构/联合 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(380): error C2065: “e”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(380): error C2223: “->texId”的左侧必须指向结构/联合 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(381): error C2065: “e”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(381): error C2223: “->width”的左侧必须指向结构/联合 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(382): error C2065: “e”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(382): error C2223: “->height”的左侧必须指向结构/联合 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(383): error C2065: “e”: 未声明标识符 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(383): error C2223: “->xadvance”的左侧必须指向结构/联合 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(387): warning C4566: 由通用字符名称“\u2705”表示的字符不能在当前代码页(936)中表示出来 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(533): error C2084: 函数“qboolean Con_LoadVariableWidthFont(const char *,cl_font_t *,float,convar_t *,uint)”已有主体 G:\Build_Xash3D\Yohimik\engine\client\cl_font.c(425): note: 参见“Con_LoadVariableWidthFont”的前一个定义
最新发布
01-04
1>------ 已启动生成: 项目: NX11_NXOpenCPP_Wizard4, 配置: Debug x64 ------ 1> NX11_NXOpenCPP_Wizard4.cpp 1>NX11_NXOpenCPP_Wizard4.cpp(23): error C2065: “UF_PI”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(37): error C2065: “UF_PI”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(50): error C2065: “UF_CURVE_lines_t”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(50): error C2146: 语法错误: 缺少“;”(在标识符“curve_def”的前面) 1>NX11_NXOpenCPP_Wizard4.cpp(50): error C2065: “curve_def”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(51): error C2065: “curve_def”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(51): error C2228: “.num_lines”的左边必须有类/结构/联合 1> 类型是“unknown-type” 1>NX11_NXOpenCPP_Wizard4.cpp(52): error C2065: “curve_def”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(52): error C2228: “.lines”的左边必须有类/结构/联合 1> 类型是“unknown-type” 1>NX11_NXOpenCPP_Wizard4.cpp(53): error C2065: “curve_def”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(53): error C2228: “.creation_method”的左边必须有类/结构/联合 1> 类型是“unknown-type” 1>NX11_NXOpenCPP_Wizard4.cpp(53): error C2065: “UF_CURVE_CREATIVE”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(54): error C2065: “curve_def”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(54): error C2228: “.associativity”的左边必须有类/结构/联合 1> 类型是“unknown-type” 1>NX11_NXOpenCPP_Wizard4.cpp(54): error C2065: “UF_CURVE_ASSOCIATIVE”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(57): error C2065: “curve_def”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(57): error C3861: “UF_CURVE_create_lines”: 找不到标识符 1>NX11_NXOpenCPP_Wizard4.cpp(57): error C2562: “ufusr”:“void”函数返回值 1> D:\BaiduNetdiskDownload\UGtwo\UGopenLib\NX11.0.0.33\UGOPEN\uf_ugopenint.h(54) : 参见“ufusr”的声明 1>NX11_NXOpenCPP_Wizard4.cpp(75): error C2660: “UF_MODL_create_cyl1”: 函数不接受 8 个参数 1>NX11_NXOpenCPP_Wizard4.cpp(75): error C2562: “ufusr”:“void”函数返回值 1> D:\BaiduNetdiskDownload\UGtwo\UGopenLib\NX11.0.0.33\UGOPEN\uf_ugopenint.h(54) : 参见“ufusr”的声明 1>NX11_NXOpenCPP_Wizard4.cpp(90): error C2065: “UF_MODL_CUT”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(90): error C2660: “UF_MODL_create_extruded”: 函数不接受 8 个参数 1>NX11_NXOpenCPP_Wizard4.cpp(90): error C2562: “ufusr”:“void”函数返回值 1> D:\BaiduNetdiskDownload\UGtwo\UGopenLib\NX11.0.0.33\UGOPEN\uf_ugopenint.h(54) : 参见“ufusr”的声明 1>NX11_NXOpenCPP_Wizard4.cpp(107): error C2065: “UF_MODL_CIRCULAR_SINGLE_ROW”: 未声明标识符 1>NX11_NXOpenCPP_Wizard4.cpp(107): error C3861: “UF_MODL_create_circular_array”: 找不到标识符 1>NX11_NXOpenCPP_Wizard4.cpp(107): error C2562: “ufusr”:“void”函数返回值 1> D:\BaiduNetdiskDownload\UGtwo\UGopenLib\NX11.0.0.33\UGOPEN\uf_ugopenint.h(54) : 参见“ufusr”的声明 1>NX11_NXOpenCPP_Wizard4.cpp(111): error C3861: “UF_PART_save”: 找不到标识符 1>NX11_NXOpenCPP_Wizard4.cpp(111): error C2562: “ufusr”:“void”函数返回值 1> D:\BaiduNetdiskDownload\UGtwo\UGopenLib\NX11.0.0.33\UGOPEN\uf_ugopenint.h(54) : 参见“ufusr”的声明 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ========== 修改好,然后把正确的完整代码发我
07-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值