Wild Magic 5: unresolved external symbol ZERO_TOLERANCE in DLL

转自https://zeroset.wordpress.com/,困扰我多年的LNK2001终于解决了,真是泪流满面

 

Geometric Tools’ Wild Magic library is a great free, open-source and cross-platform C++ library for computational geometry and beyond. Recently, when dynamically linking against latest version 5.9 of the Wild Magic library on Windows in Visual Studio Express 2010, I ran into the following error:

error LNK2001: unresolved external symbol "public: static double const Wm5::Math<double>::ZERO_TOLERANCE" (?ZERO_TOLERANCE@?$Math@N@Wm5@@2NB) SiSTunneld.exe : fatal error LNK1120: 1 unresolved externals

A quick check revealed that the symbol was indeed properly exported from the library (dllExport). However, my code was not properly importing the symbols (dllImport). The Wild Magic library is set up to properly import a DLL’s symbol by defining a set of preprocessor definitions, one for each library (all this is well described in Wild Magic’s Installation Manual and Release Notes on page 15).

So when using the Core and Mathematics libraries, set the preprocessor defines

WM5_CORE_DLL_IMPORT 
WM5_MATHEMATICS_DLL_IMPORT

in your Visual Studio project. This will properly import all symbols and resolve any unresolved linker errors.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值