visual studio 中链接静态库, 出现找不到 __imp_函数名 的错误, extern "C"也增加了
找到一段
Logically, the next question to ask is how to get the optimized form. The answer comes in the form of a hint you give to the compiler. The __declspec(dllimport) function modifier tells the compiler that the function resides in another DLL and that the compiler should generate this instruction
CALL DWORD PTR [XXXXXXXX]
rather than this one:
CALL XXXXXXXX
In addition, the compiler emits information telling the linker to resolve the function pointer portion of the instruction to a symbol named __imp_functionname. For instance, if you were calling MyFunction, the symbol name would be __imp_MyFunction. Looking in an import library, you'll see that in addition to the regular symbol name, there's also a symbol with the __imp__ prefix on it. This __imp__ symbol resolves directly to the IAT entry, rather than to the JMP stub.
如果函数声明增加了__declspec(dllimport) ,
链接的时候函数名会加上__imp_前缀,所以如果链接静态库, 函数的声明不用增加__declspec(dllimport) 。如果链接动态库,再增加__declspec(dllimport)。

转载于:https://blog.51cto.com/co63oc/978193

链接静态库时__imp_前缀错误相关推荐

  1. 小心DLL链接静态库时的内存错误

    最近写的模块,在独立的应用程序中测试是没问题的,但把它装配成DLL后,再在另一个应用程序中调用时却出现了内存错误.程序的模块链接关系大概是这样的: module就是我所写的模块,在这里被封装为DLL, ...

  2. 链接静态库的顺序问题

    在链接静态库时,如果多个静态库之间存在依赖关系,则有依赖关系的静态库之间存在顺序问题,这个在使用静态库时,需要注意,否则会报符号找不到问题,举例: libb.a依赖于是liba.a,而可执行文件tes ...

  3. 动态库、静态库编译测试:含静态库链接动态库、静态库,动态库链接静态库、动态库

    本文的目的是测试各种类型库的编译后的使用效果,包括库又链接其他库的编译方法,使用方法,依赖性等. 太长不看版:请跳至文章最后的总结对比表. 一.内容包含: ①静态库libbb.a依赖静态库libaa. ...

  4. [转]在Visual C++中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误

    症状 当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误之一: nafxcwd.lib... 当 C 运行时 (CRT) ...

  5. linux下编译自己的静态库时依赖其他的动态库,使用时出现“undefined reference to”

    对于我这个刚入IT行业不就得新手来说,在linux下链接库的时候总是会遇到各种各样奇葩的问题,最多的就是"undefined reference to"和"cannot ...

  6. 因链接静态库先后顺序不正确,引起符号定义找不到

    问题 项目中需要链接多个静态库,在编译的时候报错如下 sdi_io.cpp:(.text._ZN13sdi_H264EncIO7DataPopEPm+0x30):对'H264ENC_StatusGet ...

  7. [iOS] 引用外部静态库时,(类别)目录方法无法加载问题

    [iOS] 引用外部静态库时,目录方法无法加载问题 这个 bug 在 xcode 4.3 以下会出现,4.3 以后已经修正了. 解决方法为:找到 target 的图标,更改其 Other Linker ...

  8. 安装VC++2015运行库时出现0x80240037错误(JT预览报错)

    [JT预览报错]原因是缺少C++2015运行库. [安装VC++2015运行库时出现0x80240037错误]原因是windows7系统缺少Windows6.1-KB2999226-x64.msu补丁 ...

  9. 链接静态库时报can not be used when making a PIE object; recompile with -fPIE

    链接了一个SDK的静态库,报了大量的错误都是 can not be used when making a PIE object; recompile with -fPIE 后在编译选项中加了-no-p ...

最新文章

  1. eclipse java代码颜色设置颜色设置颜色设置颜色设置颜色_eclipse设置(颜色,字体等)...
  2. 自定义Seekbar拖动条式样
  3. 网管日志-06.08.14
  4. 为什么用pyqt的不多_家具看起来都差不多?其实不一样!
  5. go语言的main函数
  6. nginx tomcat负载均衡配置
  7. B. Bogosort codeforces(思维)
  8. c 和java互相验签_C椭圆曲线签名 用java验签
  9. 克罗内克内积 Kronecker product
  10. 《统一沟通-微软-实战》-3-部署-Exchange 2010-2-自定义安装
  11. 计算机网络原理201810自考,2018年10月自考04741计算机网络原理试卷及答案
  12. 广汽埃安总经理古惠南:8分钟快充也不光是电池的问题 ,跟充电桩有关
  13. CSS3 制作魔方 - 相关立体样式
  14. Qt5 for linux离线安装工具下载地址
  15. Python中文编程
  16. Hadoop基础教程之搭建开发环境及编写Hello World
  17. 如何mysql学籍管理系统_MySQL基础-学生管理系统数据库设计
  18. 微信网页二维码授权登陆
  19. [LaTeX] 将minipage环境中的脚注(footnote)放到正文并添加超链接
  20. ORA-01119、ORA-27040的两种可能存在的错误

热门文章

  1. jwt需要存redis吗_Spring Cloud Security:Oauth2结合JWT使用
  2. 【 FPGA 】Vivado和ISE设计流程比较(重点是Vivado IDE)
  3. 【 C 】作用域、链接属性、存储类型、static 关键字简介及总结
  4. css实现自适应背景图及背景图透明度处理
  5. Gif(1)-加载视图-交替圆效果
  6. Android UI学习 - Linear Layout, RelativeLayout
  7. 获得html元素自身的宽度
  8. springside / springside4—CRUD页面教程
  9. [力扣] 304. 二维区域和检索 - 矩阵不可变
  10. FPGA基于双端口RAM的乒乓操作