Editing Free Compiler Setup Under Linux
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | This article explains how to setup a free compiler | + | This article explains how to setup a free compiler under Linux, under assumption, that Orbiter itself can be ran under Linux with Wine for testing your modules. Latest possible setup that is capable of doing it is [http://www.winehq.org Wine 1.6.2] and [http://www.orbiter-forum.com/download.php ORBITER 2010-P1], using the built-in DX7 graphical client and [http://orbiter-forum.com/showthread.php?t=18431 DX9 client]. The steps presented here have been tested on Debian-stable ("jessie"). |
− | The concept is based on downloading and running MS VC | + | The concept is based on downloading and running MS VC executables, wrapped by [http://www.winehq.org Wine], and fed back to a native multiplatform IDE - [http://www.codeblocks.org/ Code::Blocks]. Thanks to [https://wiki.winehq.org/Winetricks winetricks], it's of course easy to download the VC executables, along with its IDE, and run the whole IDE through Wine, but such a setup is unstable. |
+ | Naturally, after succesful compilation of your module, you'll want to test it on Linux as well. Refer to [http://www.orbiterwiki.org/wiki/Running_Orbiter_under_Wine this article] to learn how to run Orbiter under Wine. | ||
== Preparing Code::Blocks == | == Preparing Code::Blocks == | ||
Line 58: | Line 59: | ||
</pre> | </pre> | ||
− | == Preparing MS VC2005 Express | + | == Preparing MS VC2005 Express == |
− | + | === IDE === | |
+ | Download the IDE and executables | ||
<pre> | <pre> | ||
− | + | winetricks vc2005express | |
+ | </pre> | ||
+ | Select installation of only the first option (the IDE) | ||
+ | === Platform SDK === | ||
+ | Download and install PSDK, which most importantly, contains the crucial Windows.h header. | ||
+ | The following script comes from [http://appdb.winehq.org/objectManager.php?sClass=version&iId=9569 WineDB] | ||
+ | <pre> | ||
prefixName=vc2005express | prefixName=vc2005express | ||
− | prefixDir=$HOME/.local/share/wineprefixes | + | prefixDir=$HOME/.local/share/wineprefixes/ |
− | |||
− | + | for ((i=1; i<=10; i++)) ; do wget http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.$i.cab ; done | |
− | + | wget http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/PSDK-FULL.bat | |
+ | wget http://download.microsoft.com/download/platformsdk/sdk/update/WIN98MeXP/EN-US/2600.2180/FULL/Extract.exe | ||
+ | WINEPREFIX=$prefixDir/$prefixName wine start.exe PSDK-FULL.bat "C:\psdktemp" | ||
+ | </pre> | ||
+ | Wait until the previous command finishes before executing the next one: | ||
+ | <pre> | ||
+ | WINEPREFIX=$prefixDir/$prefixName wine "C:\psdktemp\Setup.Exe" | ||
+ | </pre> | ||
+ | Install only the "Configuration Options" and "Microsoft Windows Core SDK". Be sure to check if the PSDK got installed under $HOME/.local/share/wineprefixes/vc2005express/Program Files. If not, (could be $HOME/.local/share/wineprefixes/vc2005express/INSTALLLOCATION), move it straight to $HOME/.local/share/wineprefixes/vc2005express/psdk | ||
− | + | === Symbolic links for ease === | |
− | + | <pre> | |
+ | cd $prefixDir/$prefixName/drive_c | ||
+ | mkdir vc && cd vc | ||
+ | ln -s ../Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/bin/ | ||
+ | ln -s ../Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/include/ | ||
+ | ln -s ../Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/lib/ | ||
− | # | + | # Ommit this step, if the PSDK was already moved to the psdk dir |
− | cd $ | + | cd $prefixDir/$prefixName/drive_c |
− | ln -s Program\ Files/Microsoft\ | + | mkdir psdk && cd psdk |
− | ln -s .. | + | ln -s ../Program\ Files/Microsoft\ Platform\ SDK\ for\ Windows\ XP\ SP2/Include |
+ | ln -s ../Program\ Files/Microsoft\ Platform\ SDK\ for\ Windows\ XP\ SP2/Lib | ||
− | # Link | + | # Link the installation links to main .wine dir |
− | cd $ | + | cd $HOME/.wine/drive_c |
− | ln -s | + | ln -s $prefixDir/$prefixName/drive_c/vc |
+ | ln -s $prefixDir/$prefixName/drive_c/psdk | ||
</pre> | </pre> | ||
== VC++ Wine wrappers == | == VC++ Wine wrappers == | ||
− | + | For some reason the WINEPREFIX didn't work on my box, therefore I needed to use the global .wine installation. | |
− | |||
− | |||
− | |||
Create the following files: | Create the following files: | ||
<pre> | <pre> | ||
Line 95: | Line 114: | ||
#!/bin/bash | #!/bin/bash | ||
− | + | prefixName=vc2005express | |
− | wine c:/VC/bin/cl.exe /I"c:/VC/include" /I"c:/psdk/Include | + | prefixDir=$HOME/.local/share/wineprefixes |
+ | prefix=$prefixDir/$prefixName | ||
+ | export WINEPREFIX=$prefix | ||
+ | |||
+ | wine c:/VC/bin/cl.exe /I"c:/VC/include" /I"c:/psdk/Include" $@ | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Line 104: | Line 127: | ||
#!/bin/bash | #!/bin/bash | ||
− | + | prefixName=vc2005express | |
− | wine c:/VC/bin/link.exe /LIBPATH:"c:/VC/lib" /LIBPATH:"c:/psdk/Lib | + | prefixDir=$HOME/.local/share/wineprefixes |
+ | prefix=$prefixDir/$prefixName | ||
+ | export WINEPREFIX=$prefix | ||
+ | |||
+ | wine c:/VC/bin/link.exe /LIBPATH:"c:/VC/lib" /LIBPATH:"c:/psdk/Lib" $@ | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Line 113: | Line 140: | ||
#!/bin/bash | #!/bin/bash | ||
− | + | prefixName=vc2005express | |
− | wine c:/VC/bin/rc.exe /I"c:/VC/include" /I"c:/psdk/Include | + | prefixDir=$HOME/.local/share/wineprefixes |
+ | prefix=$prefixDir/$prefixName | ||
+ | export WINEPREFIX=$prefix | ||
+ | |||
+ | wine c:/VC/bin/rc.exe /I"c:/VC/include" /I"c:/psdk/Include" $@ | ||
</pre> | </pre> | ||
Line 132: | Line 163: | ||
* Download, open and use [https://sf.net/p/enjomitchsorbit/codeHG Launch MFD] project file (available under launchmfd/LaunchMFD.cbp) as a template | * Download, open and use [https://sf.net/p/enjomitchsorbit/codeHG Launch MFD] project file (available under launchmfd/LaunchMFD.cbp) as a template | ||
* Download and use in your project the header file launchmfd/afxres.h. This is required for VS Express. | * Download and use in your project the header file launchmfd/afxres.h. This is required for VS Express. | ||
− | |||
* Add some sources and hit The Compile Button(TM) ! | * Add some sources and hit The Compile Button(TM) ! | ||
− | + | [[Category:Tutorials]][[Category:Addon tutorials]] | |
− | [[Category:Tutorials]] | ||
− | [[Category: |