说明:

在程序中已经引入头文件,并且程序没有报错,但在编译是报错:

错误   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:无法解析的外部符号相关推荐

  1. error LNK2001: 无法解析的外部符号 public: static int Pe...

    2019独角兽企业重金招聘Python工程师标准>>> error LNK2001: 无法解析的外部符号 "public: static int Person::b&quo ...

  2. error LNK2001: 无法解析的外部符号 “void __cdecl cv::cvtColor

    c++调用opencv时报错了, error LNK2001: 无法解析的外部符号 "void __cdecl cv::cvtColor 现在发现有两个可能的原因: 原因1: 没有添加lib ...

  3. Error LNK2001 无法解析的外部符号 的几种情况及解决办法

    Error LNK2001 无法解析的外部符号 的几种情况及解决办法 多线程下的单例模式 这里要处理的是懒汉模式. [cpp] view plain copy  class Singleton { p ...

  4. c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法

    c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法 时间:2017-05-09 12:32:06阅读:234评论 ...

  5. error LNK2001: 无法解析的外部符号 __imp__Shell_NotifyIconA@8

    编译链接报错 error LNK2001: 无法解析的外部符号 __imp__Shell_NotifyIconA@8 解决方案: 在代码中添加链接库Shell32.lib #pragma commen ...

  6. error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7

    工程使用了DirectDraw,编译出错 error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7 解决办法是吧dxguid.lib添加到工程中,把lib所在目录添加到工程 ...

  7. VS2012编译文件报错——error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW

    错入显示如: 1>  正在生成代码... 1>SurfDescriptor.obj : error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW 1&g ...

  8. error LNK2001: 无法解析的外部符号 __imp____iob_func

    问题描述 在VS2017中使用VS2005编译的lib文件,报链接错误: error LNK2001: 无法解析的外部符号 __imp____iob_func 分析 在VS2005中,有__imp__ ...

  9. error LNK2001: 无法解析的外部符号 _DllMainCRTStartup@12

    当创建DLL项目时,尤其是一些资源转化成dll时,其不要dllmain()时,会出现:error LNK2001: 无法解析的外部符号 _DllMainCRTStartup@12  错误. 解决办法: ...

  10. MFC - LNK2001 “无法解析的外部符号”的几种情况及解决办法

    MFC: LNK2001 "无法解析的外部符号"的几种情况及解决办法 "Error LNK2001 无法解析的外部符号",关于这类错误的内容归纳比较齐全,就摘下 ...

最新文章

  1. ViewPager 设置间距的方法
  2. es6第一章 continue
  3. DNS枚举工具DNSenum
  4. alert获取输入框内容_实用开源:Web 聊天工具的富文本输入框
  5. linux查看动态库导出的符号,Linux下控制动态库导出
  6. 实践重于理论——创建一个监控程序探测WCF的并发处理机制
  7. 【控制】《现代控制理论》谢克明老师-目录
  8. bzoj千题计划161:bzoj1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
  9. 忘记mysql数据库密码时进行修改方法
  10. 开机故障中的MBR引导故障的排查
  11. 有些人活着,已经拼尽了全力
  12. jQuery获取不到隐藏DIV的高度和宽度
  13. 服务器安装python虚拟环境
  14. 【优化算法】粒子群算法和混沌搜索协同优化算法【含Matlab源码 1299期】
  15. 电机学第一章(磁路的基本定律)
  16. 用Linux给手机刷rec,【小白福利】手机端刷入第三方Rec,手把手教会你
  17. css3D制作旋转魔方
  18. win10系统升级后Auto CAD2008过期解决办法
  19. 如何批量去除图片水印?批量去水印方法
  20. HP台式计算机不能启动,惠普电脑不能启动怎么处理

热门文章

  1. 0基础学习VR全景平台篇 第69篇:VR直播-如何设置广告
  2. IOS开发之——AFN-基本使用(01)
  3. 美团 Leaf分布式ID解决方案
  4. 3、美团开源的leaf-mysql的高并发优化-双buffer缓冲机制
  5. 魅族大数据之流平台设计部署实践
  6. 我是农村的,我有一个进城的梦
  7. idea官网无法进入
  8. filebeat实践-内存占用-最大内存占用
  9. 2020年山西职称英语计算机,山西2020年起推行职称“电子证书”
  10. c#winform禁用关闭按钮的方法