Hi Steve,
Thanks for posting those detailed steps.
If it gets to the stage where you're confident with them (as you
mentioned some further issues in a subsequent e-mail), it might be worth
considering posting that to Nukepedia as well.
http://www.nukepedia.com/
Cheers,
- Chris
On 03/05/11 16:34, Steven Booth wrote:
Here is my EXTREMELY PRELIMINARY, step-by-step procedure for creating
a Nuke Operator .dll *from scratch*, using VS 2010:
*Creating a Nuke Operator from scratch using Visual Studio 2010.*
**
1)Start VS2010.
2)Click on ‘New Project…’
3)Open the ‘Installed Templates’ section in the ‘New Project’ dialog,
if it isn’t (Here we assume that you have the C++ development template
installed. If not, you will need to go back to your VS2010 install CD
and install it), and expand the ‘Visual C++’ section
4)Click on the ‘General’ option under ‘Visual C++’, and select ‘Empty
Project’ from the list in the center tab.
5)Below, in the ‘Name’ section, enter the name of your Operator. E.g.
‘TestNode’
6)Make sure the ‘Create directory for solution’ option is checked, and
browse to the location for the folder containing your Operator Solution
7)We are now going to set all the configuration properties required
for the C++ project you just created. *Note that all these steps must
be performed (or copied) for each of the four possible configurations*
(Debug/Release) & (32/64 bit):
a.Right click on the Project Name (*TestNode* in this case), and
select ‘Properties’. Alternatively, you can select ‘Properties’ from
the ‘Project’ menu at the top, or just press *Alt-F7*.
b.Select the Configuration (Debug/Release) and the Platform (32/64
bit) at the top of this dialog. Recommended practice is to use
Release, and most of us will be on a 64-bit platform.
c.Expand the ‘Configuration Properties’ section if it is not already,
and click on ‘General’
d.Change the ‘Configuration Type’ to ‘*Dynamic Library (.dll)*’
e.Change the ‘Character Set’ to ‘Use Unicode Character Set’
f.Change the ‘Whole Program Optimization’ to ‘*Use Link Time Code
Generation’*
g.Next, select ‘Debugging’ from the left panel.
h.Set ‘Command’ to ‘*C:\Program Files\Nuke6.2v2\Nuke6.2.exe*’ (note
that this will probably not be necessary, since direct debugging using
the IDE is ‘iffy’ at best using Nuke, but this permits us to launch
Nuke in Debug mode in order to trace execution and look at variable
values in the VS Debugger.
i.Click on ‘VC++ Directories’ in the left panel
j.Change ‘Include Directories’ to ‘*C:\Program
Files\Nuke6.2v2\include;$(IncludePath)*’ (or wherever your nuke is
installed). This gives the VC compiler access to the ‘.h’ files.
k.Expand the ‘Linker’ section in the left panel, and click on ‘General’
l.Change the ‘Enable Incremental Linking’ option to ‘*No
(/INCREMENTAL:NO)*’
m.Set ‘Additional Library Directories’ to ‘*C:\Program
Files\Nuke6.2v2;%(AdditionalLibraryDirectories)*’ (or wherever your
version of Nuke is installed) This tells the VC2010 linker where the
required .dll libraries are to be found.
n.Select ‘Input’ from the left panel, under ‘Linker’, and set
‘Additional Dependencies’ to
‘*DDImage.lib;glew32.lib;%(AdditionalDependencies)*’ (having just told
VS2010 /where/ the libraries are to be found, now we tell it /what/ is
to be referenced by the Operator)
8)Your Project parameters are now properly configured. Next, move or
create the necessary .cpp files into the project folder (e.g., the
Mirror.cpp, stdafx.cpp, and stdafx.h files from the vc8 directory in
your installation)
9)*Important note*: When your project is compiled, VS2010 will create
a .dll file with the same name as the your project by default (this is
actually specified as the ‘Target Name’ in the ‘General’ section under
‘Configuration Properties’ in your Project Properties), and Nuke will
assume that the name of the Operator Node is the same as the name of
the .dll. If this is not the case, you will get an error. So, be sure
that the class you define for your Operator, and the Node name defined
in the CLASS definition in the node, is the same as the name of your
project.
That’s it! You now have a properly configured VS2010 Nuke project from
scratch.
Cheers!
Steve Booth
(CONFIDENTIALITY NOTICE: The information contained in this email may be
confidential and/or privileged. This email is intended to be reviewed by only
the individual or organization named above. If you are not the intended
recipient, or an authorized representative of the intended recipient, you are
hereby notified that any review, dissemination or copying of this email, or the
information contained herein is strictly prohibited. If you have received this
communication in error, please notify the sender by return email and delete
this email from your system. Thank You.)
_______________________________________________
Nuke-dev mailing list
[email protected]
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev
--
Chris Bevan, Senior Software Engineer
The Foundry, 6th Floor, The Communications Building
48 Leicester Square, London, WC2H 7LT
Tel: +44 (0)20 7968 6828 | Fax: +44 (0)20 7930 8906
Web: www.thefoundry.co.uk
The Foundry Visionmongers Ltd
Registered in England and Wales No: 4642027
_______________________________________________
Nuke-dev mailing list
[email protected]
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev