Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error C2872 - 'Integer': ambiguous symbol - testsuite - c:\quantlib\quantlib-1.10\test-suite\cashflows.cpp #293

Closed
RisenFromTheSea opened this issue Aug 23, 2017 · 6 comments

Comments

@RisenFromTheSea
Copy link

Hi all,

Sorry for the inconvenience.

I am facing error of ambiguous Integer when trying to build QuantLib 1.10 under Visual Studio 2015 with Windows 10 x 64 by following the steps in the links for installing Boost boost_1_65_0 and QuantLib :
1/ https://www.youtube.com/watch?v=_BBJS2UXu2Q&t=25s
2/ http://tungchingkai.blogspot.fr/2015/10/how-to-compile-quantlib-and-boost-under.html

Note that I have no "lib32-msvc-14.0" in my Boost folder and have added "C:\Boost\boost_1_65_0\stage\lib" folder instead.

Please help!
Thanks a lot.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Severity Code Description Project File Line
Error C2872 'Integer': ambiguous symbol testsuite c:\quantlib\quantlib-1.10\test-suite\cashflows.cpp 50
Error C2514 'boost::Integer': class has no constructors testsuite c:\quantlib\quantlib-1.10\test-suite\cashflows.cpp 50
Error C2678 binary '<': no operator found which takes a left-hand operand of type 'boost::Integer' (or there is no acceptable conversion) testsuite c:\quantlib\quantlib-1.10\test-suite\cashflows.cpp 50
Error C2675 unary '++': 'boost::Integer' does not define this operator or a conversion to a type acceptable to the predefined operator testsuite c:\quantlib\quantlib-1.10\test-suite\cashflows.cpp 50
Error (active) "Integer" is ambiguous testsuite c:\QuantLib\QuantLib-1.10\test-suite\cashflows.cpp 50
Error C2678 binary '+': no operator found which takes a left-hand operand of type 'QuantLib::Date' (or there is no acceptable conversion) testsuite c:\quantlib\quantlib-1.10\test-suite\cashflows.cpp 51
Error C2664 'QuantLib::SimpleCashFlow::SimpleCashFlow(QuantLib::SimpleCashFlow &&)': cannot convert argument 1 from 'double' to 'const QuantLib::SimpleCashFlow &' testsuite c:\quantlib\quantlib-1.10\test-suite\cashflows.cpp 51

@lballabio
Copy link
Owner

lballabio commented Aug 23, 2017 via email

@RisenFromTheSea
Copy link
Author

Thanks a lot Luigi, you are amazing!
I will try Boost 1.64 later or will wait the fix for Boost 1.65.
I'll keep you confirmed!

@lballabio
Copy link
Owner

Fixed in version 1.10.1.

@RisenFromTheSea
Copy link
Author

Hey Luigi,

Sorry for the late feedback because I am still wondering how to resolve my issues.

Indeed, even if I use boost 1.64 instead with QL 1.10 as you mentionned, now I get "Severity Code Description Project File Line
Error LNK1104 cannot open file 'kernel32.lib' BasketLosses C:\QuantLib\QuantLib-1.10\Examples\BasketLosses\LINK 1" new error message.

I also tried to use boost 1.65 with QL 1.10.1 resulting in this new error message.

Perhaps it is something with my computer...

If you have any idea, I would be grateful.

Thanks a lot anyway!

@lballabio
Copy link
Owner

Was this a clean build?

@RisenFromTheSea
Copy link
Author

Yes, I did :(

There is a pretty similar post here: nodejs/node-gyp#506
I will explore more this avenue tomorrow.
All suggestions are always welcome.

Keeping you updated.
Thanks again Luigi!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants