LNK2001:无法解析的外部符号
说明:
在程序中已经引入头文件,并且程序没有报错,但在编译是报错:
错误 LNK2001 无法解析的外部符号 H5T_NATIVE_DOUBLE_g testMT E:\testzone\CPP\test\testMT\HDF5Handler.obj 1
经过测试确定报错由以下语句引起:
#include "hdf5.h"
status = H5Tinsert(memtype, "bid", HOFFSET(MTTickShortField, bid), H5T_NATIVE_DOUBLE);
其中 H5T_NATIVE_DOUBLE在H5Tpublic.h
的定义如下:
#define H5T_NATIVE_DOUBLE (H5OPEN H5T_NATIVE_DOUBLE_g)
H5T_NATIVE_DOUBLE_g在H5Tpublic.h
的定义如下:
H5_DLLVAR hid_t H5T_NATIVE_DOUBLE_g;
其中H5_DLLVAR又在H5api_adpt.h
定义如下
#ifdef H5_BUILT_AS_DYNAMIC_LIB...#if defined(hdf5_shared_EXPORTS)#if defined (_MSC_VER) /* MSVC Compiler Case */#define H5_DLL __declspec(dllexport)#define H5_DLLVAR extern __declspec(dllexport)#elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */#define H5_DLL __attribute__ ((visibility("default")))#define H5_DLLVAR extern __attribute__ ((visibility("default")))#endif#else#if defined (_MSC_VER) /* MSVC Compiler Case */#define H5_DLL __declspec(dllimport)#define H5_DLLVAR __declspec(dllimport)#elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */#define H5_DLL __attribute__ ((visibility("default")))#define H5_DLLVAR extern __attribute__ ((visibility("default")))#endif#endif...
#else...#define H5_DLLVAR extern...
#endif /* H5_BUILT_AS_DYNAMIC_LIB */
这里可以看到,对于H5_DLLVAR
的宏定义,在动态库和静态库下的定义是不同的,而结合我自己的环境——我的环境中只安装了动态库,没有安装静态库。于是,在程序的最开始地方定义H5_BUILT_AS_DYNAMIC_LIB
宏,最后编译通过。
LNK2001:无法解析的外部符号相关推荐
- error LNK2001: 无法解析的外部符号 public: static int Pe...
2019独角兽企业重金招聘Python工程师标准>>> error LNK2001: 无法解析的外部符号 "public: static int Person::b&quo ...
- error LNK2001: 无法解析的外部符号 “void __cdecl cv::cvtColor
c++调用opencv时报错了, error LNK2001: 无法解析的外部符号 "void __cdecl cv::cvtColor 现在发现有两个可能的原因: 原因1: 没有添加lib ...
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法
Error LNK2001 无法解析的外部符号 的几种情况及解决办法 多线程下的单例模式 这里要处理的是懒汉模式. [cpp] view plain copy class Singleton { p ...
- c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法
c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法 时间:2017-05-09 12:32:06阅读:234评论 ...
- error LNK2001: 无法解析的外部符号 __imp__Shell_NotifyIconA@8
编译链接报错 error LNK2001: 无法解析的外部符号 __imp__Shell_NotifyIconA@8 解决方案: 在代码中添加链接库Shell32.lib #pragma commen ...
- error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7
工程使用了DirectDraw,编译出错 error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7 解决办法是吧dxguid.lib添加到工程中,把lib所在目录添加到工程 ...
- VS2012编译文件报错——error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW
错入显示如: 1> 正在生成代码... 1>SurfDescriptor.obj : error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW 1&g ...
- error LNK2001: 无法解析的外部符号 __imp____iob_func
问题描述 在VS2017中使用VS2005编译的lib文件,报链接错误: error LNK2001: 无法解析的外部符号 __imp____iob_func 分析 在VS2005中,有__imp__ ...
- error LNK2001: 无法解析的外部符号 _DllMainCRTStartup@12
当创建DLL项目时,尤其是一些资源转化成dll时,其不要dllmain()时,会出现:error LNK2001: 无法解析的外部符号 _DllMainCRTStartup@12 错误. 解决办法: ...
- MFC - LNK2001 “无法解析的外部符号”的几种情况及解决办法
MFC: LNK2001 "无法解析的外部符号"的几种情况及解决办法 "Error LNK2001 无法解析的外部符号",关于这类错误的内容归纳比较齐全,就摘下 ...
最新文章
- ViewPager 设置间距的方法
- es6第一章 continue
- DNS枚举工具DNSenum
- alert获取输入框内容_实用开源:Web 聊天工具的富文本输入框
- linux查看动态库导出的符号,Linux下控制动态库导出
- 实践重于理论——创建一个监控程序探测WCF的并发处理机制
- 【控制】《现代控制理论》谢克明老师-目录
- bzoj千题计划161:bzoj1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
- 忘记mysql数据库密码时进行修改方法
- 开机故障中的MBR引导故障的排查
- 有些人活着,已经拼尽了全力
- jQuery获取不到隐藏DIV的高度和宽度
- 服务器安装python虚拟环境
- 【优化算法】粒子群算法和混沌搜索协同优化算法【含Matlab源码 1299期】
- 电机学第一章(磁路的基本定律)
- 用Linux给手机刷rec,【小白福利】手机端刷入第三方Rec,手把手教会你
- css3D制作旋转魔方
- win10系统升级后Auto CAD2008过期解决办法
- 如何批量去除图片水印?批量去水印方法
- HP台式计算机不能启动,惠普电脑不能启动怎么处理