当前位置:网站首页>_ HUGE and __ IMP__ HUGE in “math.h“
_ HUGE and __ IMP__ HUGE in “math.h“
2022-07-28 10:52:00 【vv1025】
I have a question about how constants defined in math.h are linked.
In visual studio 2010, I'm building a 64-bit dll c++ library with "MD" that uses a third party library that make use of "HUGE_VAL". From the header "math.h", it seems that "HUGE_VAL" is defined as "_HUGE". When I try to build, a linking error results
error LNK2001: unresolved external symbol _HUGE
After doing some googling, I think _HUGE should be defined in msvcrt.lib. MSVCRT.lib is linked, but I didn't link libcmt.lib because it would cause re-definition errors.
What strikes me as odd is that when I create a simple console program that uses HUGE_VAL and use /verbose as a linker option, it shows _IMP_HUGE being linked.
What I'm really curious of is at what stage does _HUGE turn into _IMP_HUGE? Also, have anyone else gotten the unresolved _HUGE error and does anyone have any ideas for how it could be fixed?
Thanks for reading the long question and for any ideas.I have experienced this issue with VC11.0. The only error I get is an unresolved symbol _HUGE error.
I am linking with dynamic multi-threaded run time libraries and I found that if I were to include "libcmt.lib" in my link step, then the issue is resolved (or worked around).
I started looking into how the headers were defined in the SDK for clues and found that I was missing a compiler pre-directory in my compile steps: _DLL.
When you build with dynamic run time libraries the _HUGE variable needs to be __declspec(dllimport) so it can be found. When you include "math.h" -> "crtdefs.h" without setting _DLL as a pre-directive, the variable will not be __declspec(dllimport)'ed and will appear missing at link time.
I was getting this issue because I am compiling with my own custom makefiles and I had neglected to add the _DLL pre-directive. Adding -D_DLL to my compilation step resolved the compile issue with no other changes needed.
I know this thread is old, but figured I would throw it out there as it may help someone with a similar issue.
Share
Improve this answer
Follow
answered Aug 22 '13 at 0:41LIBCD.lib
LIBC.lib
LIBCMT.lib边栏推荐
- Using k-means clustering to classify tariff models of different industries
- The Xiongguan pass is like an iron road, and now we are going to cross it from the beginning
- GKRidgedNoiseSource
- Pyqt5 rapid development and practice 4.11 drag and clipboard
- Pat grade a title in September 2019
- GKCheckerboardNoiseSource
- 蓝桥杯嵌入式-HAL库-SYSTICK
- Network file system service (NFS)
- The future of generating confrontation networks in deepfake
- PyQt5快速开发与实战 4.11 拖曳与剪贴板
猜你喜欢

机器人技术(RoboCup 2D)如何进行一场球赛

蓝桥杯嵌入式-HAL库-USART_TX

Characteristics and installation of non relational database mongodb

GKCheckerboardNoiseSource

GKRidgedNoiseSource

Yarn报错:Exception message: /bin/bash: line 0: fg: no job control

剑指 Offer 30. 包含min函数的栈

Excel word 简单 技巧 整理(持续更新 大概~)

Batch Normlization

生成对抗网络在DeepFake中的未来
随机推荐
粒子群实现最优解的求解
Apb2 and apb1 in stm32
GKBillowNoiseSource
Semeval 2022 | introducing knowledge into ner system, aridamo academy won the best paper award
Pat grade a title in September 2019
Network file system service (NFS)
samba服务器配置
How to play a ball game with RoboCup 2D
蓝桥杯嵌入式-HAL库-LCD
GKLinearCongruentialRandomSource
If you don't climb mountains, you don't know the height of the sky; If you don't face deep streams, you don't know the thickness of the earth
Blue Bridge Cup embedded Hal library USART_ TX
ICML 2022 | 图表示学习的结构感知Transformer模型
GKNoiseMap
Product side data analysis thinking
8、Yarn系统架构与原理详解
Andorid 开发三 (Intent)
Tensorflow knowledge points
The Xiongguan pass is like an iron road, and now we are going to cross it from the beginning
AP AUTOSAR platform design 3 architecture