Interested in working on Construct Classic?

Forum for plugin, effect and behavior programmers. Please use the Help & Support forum for help using Construct.

Post » Sun May 01, 2011 10:54 am

The suggested fixes work great, i do get a warning that something is no longer supported though but it builds ok.

Where i had trouble was with plugin and movement source codes, i did the same thing that was needed for the template but it gives different errors.

As this happens i am guessing you cannot build them with the SDK but rather have to build the complete source and it would build multiple extensions together as well as the editor. It is great that i can make extensions at last without giant downloads but it would have been nice to have been able to use the plugins as starting points or to extend them with new features.
B
2
S
2
G
1
Posts: 121
Reputation: 1,092

Post » Sun May 08, 2011 7:47 pm

[quote:2nl016c9]Where i had trouble was with plugin and movement source codes, i did the same thing that was needed for the template but it gives different errors. [/quote:2nl016c9]

What are the errors? There may be a few things that may have to be tweaked. Also the fix was mainly intended to allow the template to be built. No doubt there will be issues when building the plugins from the SVN with the fix.
B
79
S
24
G
52
Posts: 4,725
Reputation: 39,713

Post » Sun May 08, 2011 8:31 pm

I had deleted the edited versions source because it wouldn't build but the errors were something like it couldn't find a linked resource/code. The main impression i got from the errors were you have to build construct as a package and it would build multiple plugins rather than being able to build one at a time.

The thing is even though it's open source i have never been able to build the construct source due to the fact it needed a commercial library (this might have changed?) and also i use Visual C++ Express. Up until recently i could not build with the SDK due to the required library's but the workaround from this thread fixed that and i now can but still no luck with the plugins from the SVN.

The source i have is older though so it might simply be i need to update it, i will test when i have more time. Did the SVN plugins build ok for anyone else using Visual C++ Express? if yes were there many other changes that needed to be made also?
B
2
S
2
G
1
Posts: 121
Reputation: 1,092

Post » Thu May 12, 2011 2:49 pm

[quote="R0J0hound":xvhokotu][quote:xvhokotu]Where i had trouble was with plugin and movement source codes, i did the same thing that was needed for the template but it gives different errors. [/quote:xvhokotu]

What are the errors? There may be a few things that may have to be tweaked. Also the fix was mainly intended to allow the template to be built. No doubt there will be issues when building the plugins from the SVN with the fix.[/quote:xvhokotu]

I have had some time to test now, firstly with the template (no changes other than to make it work in express) it will build and also seems to run fine but there is 1 warning -

LINK : warning LNK4224: /OPT:NOWIN98 is no longer supported; ignored

Also for some reason while the plugin is built into the IDE > Plugins folder it creates a folder on my desktop with a structure like - Construct Compile\Sprite Object\Release\ConstructSDK.bsc but i am not sure what that is even for.

With the "Text" plugin there is -

Warning: compiler or settings not compatible with Construct Runtime ABI. Enabling workaround functions. See SDK docs on 'Runtime ABI'

fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory

In the StdAfx.h it seems it needs a load of MFC things. That also doesn't seem to have atlstr.h to replace, no doubt the reason for the Text plugin not working is it needs these.

With "Sprite" i did the fixes but still got errors -

.\Edittime.cpp(66) : error C2039: 'GetAnimationName' : is not a member of 'VEditTime'

.\Drawing.cpp(120) : error C2039: 'GetAnimationName' : is not a member of 'VEditTime'

With "Vector" i did the fixes and it has the errors -

1>BSCMAKE: warning BK4502 : truncated .SBR file '.\Release\ConstructSDK.sbr' not in .\..\..\..\Construct Compile\Sprite Object\Release/ConstructSDK.bsc

1>BSCMAKE: error BK1513 : nonincremental update requires all .SBR files

for runtime it also gives errors -

1>Expressions.cpp
1>.\Expressions.cpp(93) : error C2660: 'cr::point_base<T>::distance' : function does not take 1 arguments
1> with
1> [
1> T=cr::cr_float
1> ]
1>.\Expressions.cpp(107) : error C2660: 'cr::point_base<T>::angle' : function does not take 1 arguments
1> with
1> [
1> T=cr::cr_float
1> ]

It seems most of the SVN plugins need the commercial version of Visual Studio C++ and the extra library's required otherwise it won't build but maybe there are ways around this.

For some things like Text plugin they seems to still require the MFC library to work, also there is these .sbr requirements but i have no idea what they are.
B
2
S
2
G
1
Posts: 121
Reputation: 1,092

Post » Thu May 12, 2011 6:07 pm

Any warnings can be safely ignored. The .bsc file is generated by the compiler in the process of building the plugin.

For building the vector object issue go to "Build->Batch Build..." click "Select All" then "Clean" then you can try to rebuild without that error

Probably all those errors are due to not having the ATL/MFC libraries. It seems that the CString replacement fix is not really working for anything but the template plugin.

Here is another link on how to get the ATL/MFC libraries:
[url:13vd8gxo]http://www.scirra.com/forum/viewtopic.php?f=7&t=8149&p=63927&hilit=web+download+mfc#p63927[/url:13vd8gxo]
I didn't post this before because the download wasn't working for me, but hopefully it was just an issue with my ISP blocking it.
B
79
S
24
G
52
Posts: 4,725
Reputation: 39,713

Post » Fri May 13, 2011 12:56 pm

Thanks R0J0hound, i still get errors with the vector object however. If i build as Release it works fine, when it is Runtime i still get this error -

1>Expressions.cpp
1>.\Expressions.cpp(93) : error C2660: 'cr::point_base<T>::distance' : function does not take 1 arguments
1> with
1> [
1> T=cr::cr_float
1> ]
1>.\Expressions.cpp(107) : error C2660: 'cr::point_base<T>::angle' : function does not take 1 arguments
1> with
1> [
1> T=cr::cr_float
1> ]

So i think i will try the Windows Server 2003 SP1 Platform SDK Web Install, hopefully it will work ok.
B
2
S
2
G
1
Posts: 121
Reputation: 1,092

Post » Fri May 13, 2011 3:55 pm

Well i installed the Microsoft Platform SDK for Windows Server 2003 SP1 as you say in your post. I still get missing file errors, for the ParticleSpray plugin for example it says -

Warning: compiler or settings not compatible with Construct Runtime ABI. Enabling workaround functions. See SDK docs on 'Runtime ABI'.

StdAfx.h(26) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory

My default drive is E which could have something to do with this but i noticed i now have the MFC files here -

E:\Program Files\Microsoft Platform SDK\Include\mfc

I have the file AFXWIN.H in that folder so it should be working yet it won't.

I have a feeling i just need to configure some paths but i am not sure how to do that. In the solution properties i noticed there were links to missing atlmfc and crt folders from i am guessing the location it would be for the commercial version of Visual C++, i added 3 new paths to the new folders but this does not fix it.

I also added the MFC path to Linker > General - Additional Library Directories but again no luck.

I am probably doing the linking wrong though maybe because with C++ i usually only work with SDKs which have not needed much configuration. So yeah it's still not building and i was guessing after installing it would find the ATL and MFC library's and i would be able to build with express but i guess not.

Any ideas how i can fix this?
B
2
S
2
G
1
Posts: 121
Reputation: 1,092

Post » Fri May 13, 2011 4:28 pm

You need to add the mfc and atl include folder and library folder to the search path.
This explains it pretty well:
http://www.codeproject.com/KB/MFC/MFCin ... press.aspx
Skip down to step 4.
B
79
S
24
G
52
Posts: 4,725
Reputation: 39,713

Post » Fri May 13, 2011 5:13 pm

Thanks, that tutorial is based on DDK however which is different to the Microsoft Platform SDK. I did attempt to use links to Microsoft Platform SDK instead but had no luck.

When it says add the includes

(DDK_directory)\inc\mfc42
(DDK_directory)\inc\atl30

i instead have -

E:\Program Files\Microsoft Platform SDK\Include\mfc
E:\Program Files\Microsoft Platform SDK\Include\atl

Yet for the library's it lists -

(DDK_directory)\lib\mfc\i386
(DDK_directory)\lib\atl\i386

but i don't have those available so instead i did the alternative for what it has

E:\Program Files\Microsoft Platform SDK\Lib
E:\Program Files\Microsoft Platform SDK\Lib\Win95

when building the Sprite plugin i am still getting errors however -

.\Drawing.cpp(120) : error C2039: 'GetAnimationName' : is not a member of 'VEditTime'
\desktop\plugin sdk\sdk\sprite\..\..\Common\VEdittime.h(14) : see declaration of 'VEditTime'

and i also tried the same with Vector but i get errors also -

\desktop\plugin sdk\sdk\vector\StdAfx.h(24) : fatal error C1083: Cannot open include file: 'atlstr.h': No such file or directory

:(
B
2
S
2
G
1
Posts: 121
Reputation: 1,092

Post » Mon May 16, 2011 3:24 pm

R0J0hound using Visual C++ Express with the Microsoft Platform SDK seems to not work, the DDK has a different structure so that fix method does not work with it.

Do you know how to build the SVN plugins with C++ express and this library instead? thanks
B
2
S
2
G
1
Posts: 121
Reputation: 1,092

PreviousNext

Return to Construct engineering

Who is online

Users browsing this forum: No registered users and 0 guests