Support Board
Date/Time: Wed, 15 Jan 2025 21:54:26 +0000
c_VAPContainerBase Error
View Count: 2455
[2017-08-29 20:41:12] |
User332203 - Posts: 20 |
I downloaded the latest build of SC and now my DLL will not compile. I am getting the following error: c:\sierrachart\acs_source\vapcontainer.h(339): error C2758: 'c_VAPContainerBase<t_VolumeAtPrice>::m_InitialAllocationElements' : must be initialized in constructor base/member initializer list 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeAtPriceV2 1> ] 1> c:\sierrachart\acs_source\vapcontainer.h(303) : see declaration of 'c_VAPContainerBase<t_VolumeAtPrice>::m_InitialAllocationElements' 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeAtPriceV2 1> ] 1> c:\sierrachart\acs_source\vapcontainer.h(338) : while compiling class template member function 'c_VAPContainerBase<t_VolumeAtPrice>::c_VAPContainerBase(const c_VAPContainerBase<t_VolumeAtPrice> &)' 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeAtPriceV2 1> ] 1> c:\sierrachart\acs_source\vapcontainer.h(1246) : see reference to class template instantiation 'c_VAPContainerBase<t_VolumeAtPrice>' being compiled 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeAtPriceV2 1> ] 1>c:\sierrachart\acs_source\vapcontainer.h(339): error C2614: 'c_VAPContainerBase<t_VolumeAtPrice>' : illegal member initialization: 'c_VAPContainerBase<s_VolumeAtPriceV2>' is not a base or member 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeAtPriceV2 1> ] 1>c:\sierrachart\acs_source\vapcontainer.h(339): error C2758: 'c_VAPContainerBase<t_VolumeAtPrice>::m_InitialAllocationElements' : must be initialized in constructor base/member initializer list 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeLevelAtPrice 1> ] 1> c:\sierrachart\acs_source\vapcontainer.h(303) : see declaration of 'c_VAPContainerBase<t_VolumeAtPrice>::m_InitialAllocationElements' 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeLevelAtPrice 1> ] 1> c:\sierrachart\acs_source\vapcontainer.h(338) : while compiling class template member function 'c_VAPContainerBase<t_VolumeAtPrice>::c_VAPContainerBase(const c_VAPContainerBase<t_VolumeAtPrice> &)' 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeLevelAtPrice 1> ] 1> c:\sierrachart\acs_source\vapcontainer.h(1323) : see reference to class template instantiation 'c_VAPContainerBase<t_VolumeAtPrice>' being compiled 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeLevelAtPrice 1> ] 1>c:\sierrachart\acs_source\vapcontainer.h(339): error C2614: 'c_VAPContainerBase<t_VolumeAtPrice>' : illegal member initialization: 'c_VAPContainerBase<s_VolumeLevelAtPrice>' is not a base or member 1> with 1> [ 1> t_VolumeAtPrice=s_VolumeLevelAtPrice 1> ] |
[2017-08-29 23:01:44] |
User332203 - Posts: 20 |
I rolled back to the version I had when I last compiled in early July and I am still getting error C2614 and error C2758 when trying to build my DLL. The build output says the error is in vapcontainer.h. I have not changed my code since my last successful build. The only thing I did was download the latest SC build and attempt to recompile my DLL today. Is this something I can tell the compiler to ignore? and if so, how?
|
[2017-08-29 23:16:22] |
Sierra Chart Engineering - Posts: 104368 |
It appears as though you are using Visual C++. Perform a full rebuild of the solution. Go to Build >> Rebuild Solution within the Visual C++ IDE.
Sierra Chart Support - Engineering Level Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy: https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service: Sierra Chart Teton Futures Order Routing |
[2017-08-29 23:24:42] |
User332203 - Posts: 20 |
I am using Visual C++ 2010 Express. I performed the step Build >> Rebuild Solution and I still get the same build errors.
|
[2017-08-29 23:36:12] |
Sierra Chart Engineering - Posts: 104368 |
Even we ourselves are no longer using that particular version. Unfortunately we are using Visual C++ 2017. And actually hate it quite a bit because they ruined the user interface on it. The level of stupidity from Microsoft is amazing. For the time being you can use the Analysis >>Build Custom Studies DLL >> Remote Build command. Sierra Chart Support - Engineering Level Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy: https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service: Sierra Chart Teton Futures Order Routing Date Time Of Last Edit: 2017-08-30 00:44:45
|
[2017-08-30 00:19:14] |
User332203 - Posts: 20 |
What version of Visual C++ do you recommend?
|
[2017-08-30 00:45:13] |
Sierra Chart Engineering - Posts: 104368 |
We apologize, for some reason the version number was not given in the prior message. We meant to say Visual C++ 2017. Sierra Chart Support - Engineering Level Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy: https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service: Sierra Chart Teton Futures Order Routing Date Time Of Last Edit: 2017-08-30 01:10:05
|
[2017-08-30 00:55:10] |
User332203 - Posts: 20 |
I installed VS 2017. It compiles fine now. Thanks for your help.
|
[2017-09-07 13:14:43] |
gomifromparis - Posts: 244 |
I use VS2017 and am getting this error as well when using the v100 (vs2010) platform toolset. It disappears using the v141 (vs2017) toolset. VS2017 toolset makes a dependency on the ucrt (deployed by windows update id I get it) and the vs2015 or vs2017 runtimes. Can we expect those runtimes to have been deployed correctly if Sierra works ok ? I counted on the previous versions of Sierras to deploy the vs2010 runtimes, so I knew that if Sierra worked the vs2010 runtime was there. With current builds, what installed C-runtime components do I know are present on the computer if an install of Sierra is working ? Just want to have my builds compatible with what Sierra deploys to avoid having to reinstall different runtime files.. |
[2017-09-07 16:32:21] |
Sierra Chart Engineering - Posts: 104368 |
Can we expect those runtimes to have been deployed correctly if Sierra works ok ? We are not really understanding this. Sierra Chart is not going to be affected by your custom studies.With current builds, what installed C-runtime components do I know are present on the computer if an install of Sierra is working ? Just want to have my builds compatible with what Sierra deploys to avoid having to reinstall different runtime files.. There should be no compatibility issues you need to be concerned with. Make sure your project statically links to the C++ runtime libraries.
Sierra Chart Support - Engineering Level Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy: https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service: Sierra Chart Teton Futures Order Routing Date Time Of Last Edit: 2017-09-07 16:33:14
|
[2017-09-07 19:25:46] |
gomifromparis - Posts: 244 |
What I mean is that previously Sierra installation deployed the VS2010 runtime. So I used to compile my studies with the the Visual 2010 toolset, and the studies worked OK on any customer's computer because the VS2010 runtime was deployed by Sierra installer. New versions of Sierra don't deploy the VS2010 runtime anymore. But you must be relying on some C++ runtime ? My question is : which one is it, since I want to use the same so I can rely on Sierra install to provide the runtime to customer computers. Or is it all linked statically now ? On my side I can't link statically, since I use the CLR, so I need to link dynamically. And moreover it's evil ... Says Microsoft :-) |
[2017-09-07 19:37:47] |
Sierra Chart Engineering - Posts: 104368 |
Sierra Chart statically links to the C++ runtime libraries and it should not matter at all what version Sierra Chart is using in relation to your custom studies. We know it does not matter from experience.
Sierra Chart Support - Engineering Level Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy: https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service: Sierra Chart Teton Futures Order Routing |
[2017-09-07 19:53:56] |
gomifromparis - Posts: 244 |
Except that now that you use the 141 toolset (VS2017) I have no choice but using it as well since it doesn't compile any more using the previous toolsets. Or maybe stick up with an older version of sierra to compile, as long as it works..
|
[2017-09-07 20:14:14] |
Sierra Chart Engineering - Posts: 104368 |
Apparently there is some problem with the older Visual C++ compiler with the Volume at Price container header file. Not sure why that is the case. Sierra Chart Support - Engineering Level Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy: https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service: Sierra Chart Teton Futures Order Routing Date Time Of Last Edit: 2017-09-07 20:14:30
|
[2017-09-07 20:22:51] |
gomifromparis - Posts: 244 |
Y had a look too and saw nothing obvious. Might have another look when I have the time
|
To post a message in this thread, you need to log in with your Sierra Chart account: