How to set up the environment for using the SDK with C++

SirLightwaver

New member
Hi everyone,

I would like to switch from coding my plugins in LScript to C++.
Unfortunately, the LWSDK manual is somewhat outdated in the "Compiling" area.

My first choice was using MinGW, but it seems to be capable of creating 32bit plugins only, which may not run on my Win10 64bit environment. I know, there is a "mingw-w64" project as well, but at that time I thought it could be easier to try Visual Studio Community. Which is not, at least I was not able to locate all the desired preferences within the vast amount of settings. Which brings me once more to this forum.

Can anyone describe how (s)he set up her/his environment?
Which compiler do you use when working on Windows?
How to compile 64bit plugins?
When searching through this forum, I found that someone even uses a multi library / cross compiler approach with TDM/GCC, but this project has not been updated since 2015.

Your help is very appreciated. Thanks and best regards!
 

N_A

Member
1. Download and install the free Visual Studio 2010 Express or Visual Studio Community 2013-2015.
2. Download and unzip the Download LightWave 2015 Software Development Kit (SDK).
3. Open the solution file in Visual Studio. (For example: c:\LightWave_2015.3\sdk\lwsdk2015.3\lwsdk.sln)
4. Agree to the proposal to convert the solution into the new format.
5. Select "x64" configuration and build the solution.
6. you should see the files with the extension ".p" (for example: c:\LightWave_2015.3\sdk\lwsdk2015.3\sample\Layout\ObjectReplacement\objseq\amd64\Release\objseq.p)
7. Change the existing sample to create your own plugin.

I do not know english, sorry. )
 

SirLightwaver

New member
Dear N_A,
thank you very much for your brief explanation.

As I already uninstalled Visual Community 2015 when I read your reply, I searched for the leaner Visual Studio 2010 Express.

After installation, I was able to follow your instructions until step 4 which failed for almost every file due to some error related to 64 bit.
Once again, I searched the web for a solution and found some instructions on how to enable 64 bit via Visual Studio Command Line. However, it did not work, so I thought, it would be best to start completely fresh and continue step by step.

I installed the 32 bit version of Lightwave and followed the "Compile with MinGW32" instructions from the SDK manual once more precisely. And voila, I was able to compile the box sample project which runs on LightWave 32 but - as expected - not on LightWave 64.

Next, I tried to compile the project for 64 bit with the MinGW-64 toolchain. It took a while to figure out, that MinGW-64 contains signed (prefixed) and unsigned versions of the necessary tools AND that it is recommended to ONLY use the unsigned versions - something I have not done before as I thought these versions would belong to the 32 bit toolchain. With this knowledge, it was totally simple to compile the plugin for 64 bit :)

By the way, the manual only mentions preprocessor symbols for Win32 (_X86_), AMD 64bit (_AMD64_) and Intel Itanium (_IA64_), but not for Intel 64 bit. I tried _X64_.

With one obstacle out of the way, I keep looking forward to the challenges yet to come.
Best regards!
 

creacon

creacon
Not an easy choice to decide what IDE/programming environment is best for you.
I went the Visual Studio way because if something goes wrong, and it will, it's easier to find support/information.
Also when you start using other tools/libraries most of the time (not always) they'll come with VStudio files.

One golden tip, if you end up using VStudio, buy Visual Assist X, it fixes almost everything that's broken in Microsoft's IDE.

The only thing I am keeping an eye on, apart from VStudio, is codelite, has a lot of potential, but it's buggy/quirky.

creacon
 

N_A

Member
To debug a program, or have to wait long in Qt Creator, or temporarily switch to VS Studio. (
 

N_A

Member
Yes. But this doesn't happen very often. Most problems are solved by using the console output (qDebug () < < var ... etc.).
More complex problem arises with finding bugs in the javascript code. I use another IDE (VS Code) to experiment with javascript.
 
Top Bottom