eehlers / QuantLibAddin-Old

8 stars 17 forks source link

Add vc_14 files #3

Closed igitur closed 6 years ago

igitur commented 7 years ago

The toolset selection in the auto_link.hpp files are now also in line with the QuantLib ones.

eehlers commented 6 years ago

i merged this to my v1.11.x branch - many thanks! however i have also created a single set of project files which are (i hope) compatible with all versions of visual studio >= VC10, like luigi did for QuantLib. i am not planning on shipping the version-specific project files with the release.

eehlers commented 6 years ago

On second thought I think I will release the project files that are specific to VS versions 8 to 14, and also the project files with no version number, i have tested these under VS 2017 (14.1) and I hope that they work for all versions of VS from 10 up.

igitur commented 6 years ago

I remember I did this PR in preparation for another, larger PR (with an actual code change)... but no I can't remember what that change was. I'll have to relook at what I wanted to do. I just remember I wanted to do the change in VC14.

igitur commented 6 years ago

Sidenote, what's happening on the reposit branch? Anything we can do to help?

eehlers commented 6 years ago

OK, I look forward to the further contribution, many thanks.

I'm moving forward again on the reposit branch. The platform has been stable for a while, now porting the 1,114 functions from the old build to the new. 771 done, 343 to go. Once that's done I will do a beta 1.11 release of the new build.

igitur commented 6 years ago

What can I do to help with porting over the functions?

eehlers commented 6 years ago

Oh wow. That is very kind of you to offer and i would be grateful for some help.

Here are the steps that you would need to take:

The file QuantLibXL_full_vc9.sln is obsolete, instead I am using QuantLibXL_full.sln with VS 2017. log4cxx is no longer part of the build.

That document is really out of date, sorry about that. Copy required features from the existing .i files - %loop, %alias, etc.

I am currently working my way through the marketmodel functions. So to start please choose any xxx.xml file that has not yet been converted to xxx.i, apart from the marketmodel ones. I suggest you start with a small file whose functions do not depend on other functions from another file.

Many thanks again for offering to help.

eehlers commented 6 years ago

every time you implement a new constructor, you have to add a new call to macro QL_OBJECT_WRAPPER() in file apply.i.

igitur commented 6 years ago

Thanks, Eric. Looking at this only now. I got most of this working, and had to make some adjustments to get it building in VS2017. I will document these changes all later.

What I got stuck on was that the .cpp and .hpp files seem to be missing from the .\QuantLibAddin\AddinCpp\ project. I can't find them anywhere in the repo either. Did you forget to commit them or am I missing something else?

eehlers commented 6 years ago

many thanks for taking a look!

are you trying to run AddinCpp in the old build, or in the new build?

1) new build. the C++ addin is way out of date. the only project that is currently usable is QuantLibXL_full.sln, this works for me under VS 2017.

2) old build. autogenerated source files are included in releases but are not put under version control. you need to edit this file...

QuantLibAddin/gensrc/Makefile.vc

...and pass the -p flag to gensrc.

however if you are using the old build only for purposes of migrating to the new build then there would be no point in looking at the C++ addin since that's not yet supported in the new build anyway.