Jump to content

Compiling SDK CodeBlocks Linux: Difference between revisions

From Kingpin Wiki
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<h3>Introduction</h3>
<h3>Introduction</h3>
<p><a href="https://en.wikipedia.org/wiki/Code::Blocks" target="_blank">Code::Blocks</a> is a open-source IDE <a href="https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B" target="_blank">compared</a> to Microsoft <a href="https://en.wikipedia.org/wiki/Microsoft_Visual_Studio" target="_blank">Visual Studio</a>/<a href="https://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express" target="_blank">Express</a>. <br />The good thing about <a href="https://en.wikipedia.org/wiki/Open-source_software" target="_blank">open-source</a> is that you can use it also in any OS.</p>
<p>[https://en.wikipedia.org/wiki/Code::Blocks Code::Blocks] is a open-source IDE [https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B compared] to Microsoft [https://en.wikipedia.org/wiki/Microsoft_Visual_Studio Visual Studio]/[https://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express Express] <br />The good thing about [https://en.wikipedia.org/wiki/Open-source_software open-source] is that you can use it also in any OS.</p>
<p>Before you can do this you need to have done <a href="http://kingpin.info/?p=compiling-with-linux" target="_blank">Compiling with Linux</a> otherwise you files probably are not ready yet for linux.</p>
<p>Before you can do this you need to have done [[Compiling SDK Linux|Compiling with Linux]] otherwise you files probably are not ready yet for linux.</p>
<hr style="height: 2px; border-width: 0; background-color: #e7c258;" />
<hr style="height: 2px; border-width: 0; background-color: #e7c258;" />
<h3>&nbsp;</h3>
<h3>Creating a New Project</h3>
<h3>Creating a New Project</h3>
<p>First, we must create the project in which we are going to work:</p>
<p>First, we must create the project in which we are going to work:</p>
Line 16: Line 15:
<li>In the next dialog choose as compiler:GNU GCC Compiler and make sure that Release is checked and not Debug unless you want that and click on Finish</li>
<li>In the next dialog choose as compiler:GNU GCC Compiler and make sure that Release is checked and not Debug unless you want that and click on Finish</li>
</ol>
</ol>
<h3>&nbsp;</h3>
<h3>Adding Files to the New Project</h3>
<h3>Adding Files to the New Project</h3>
<p>Before we can add new files t the project you first need to remove the 1 file that were created to the project so we got a emtpy project.</p>
<p>Before we can add new files t the project you first need to remove the 1 file that were created to the project so we got a emtpy project.</p>
Line 23: Line 21:
<li>main.c should already be selected, press OK</li>
<li>main.c should already be selected, press OK</li>
<li>A new confirmation dialoog will start, press Yes</li>
<li>A new confirmation dialoog will start, press Yes</li>
<li>The files main.c are still there you probably want to deleted them in an <a href="https://en.wikipedia.org/wiki/File_manager" target="_blank">File Manager</a>, so you don't&nbsp;accidently add them.</li>
<li>The files main.c are still there you probably want to deleted them in an [https://en.wikipedia.org/wiki/File_manager File Manager], so you don't&nbsp;accidently add them.</li>
</ol>
</ol>
<p>Now that we have our project and workspace, we need to add id's&nbsp;<a href="https://www.kingpin.info/download/index.php?dir=kingpin/server/unofficial/sdk/linux/&amp;file=Linux_SDK_121.zip">Kingpin Linux SDK source</a> files to the project.</p>
<p>Now that we have our project and workspace, we need to add id's [https://www.kingpin.info/download/index.php?dir=kingpin/server/unofficial/sdk/linux/&amp;file=Linux_SDK_121.zip Kingpin Linux SDK source] files to the project.</p>
<ol>
<ol>
<li>Create a new folder in your project directory called "Source"</li>
<li>Create a new folder in your project directory called "Source"</li>
<li>Copy the <a href="https://www.kingpin.info/download/index.php?dir=kingpin/server/unofficial/sdk/linux/&amp;file=Linux_SDK_121.zip">Kingpin Linux SDK source</a> files to this directory</li>
<li>Copy the [https://www.kingpin.info/download/index.php?dir=kingpin/server/unofficial/sdk/linux/&amp;file=Linux_SDK_121.zip Kingpin Linux SDK source] files to this directory</li>
<li>Under the menu Project-&gt;Add Files..</li>
<li>Under the menu Project-&gt;Add Files..</li>
<li>Change to the source directory you just created</li>
<li>Change to the source directory you just created</li>
Line 34: Line 32:
<li>and click Open.</li>
<li>and click Open.</li>
</ol><hr style="height: 2px; border-width: 0; background-color: #e7c258;" />
</ol><hr style="height: 2px; border-width: 0; background-color: #e7c258;" />
<h3>&nbsp;</h3>
<h3>Fixing the Compiler</h3>
<h3>Fixing the Compiler</h3>
<p>There still some things missing from the compiler the Kingpin SDK. Kingpin needs some NavLib files otherwise it won't compile.</p>
<p>There still some things missing from the compiler the Kingpin SDK. Kingpin needs some NavLib files otherwise it won't compile.</p>
Line 67: Line 64:
<h3>&nbsp;Download project file</h3>
<h3>&nbsp;Download project file</h3>
<table style="width: 300px; border-collapse: collapse;" border="0">
<table style="width: 300px; border-collapse: collapse;" border="0">
<tbody>
<tr>
<tr>
<td style="border-color: #e7c258; border-style: solid; border-width: 2px; text-align: center;"><a href="https://www.kingpin.info/download/index.php?dir=kingpin/server/unofficial/sdk/linux/&amp;file=codeblock.zip">Code::Blocks</a></td>
<td style="border-color: #e7c258; border-style: solid; border-width: 2px; text-align: center;">[https://www.kingpin.info/download/index.php?dir=kingpin/server/unofficial/sdk/linux/&amp;file=codeblock.zip Code::Blocks]</td>
</tr>
</tr>
</table>
</table>

Latest revision as of 23:19, 19 February 2025

Introduction

Code::Blocks is a open-source IDE compared to Microsoft Visual Studio/Express
The good thing about open-source is that you can use it also in any OS.

Before you can do this you need to have done Compiling with Linux otherwise you files probably are not ready yet for linux.


Creating a New Project

First, we must create the project in which we are going to work:

  1. Start Code::Blocks
  2. Close any open Workspaces
  3. Choose from the menu File->New->Project..
  4. From the New From template dialog choose Projects->Shared Library and click Go.
  5. A Shared Library dialog will start, click on Next.
  6. Click in the Project title entry and type a name for your project
  7. Check the Folder to creat a project in and make sure it's correct and press Next.
  8. In the next dialog choose as compiler:GNU GCC Compiler and make sure that Release is checked and not Debug unless you want that and click on Finish

Adding Files to the New Project

Before we can add new files t the project you first need to remove the 1 file that were created to the project so we got a emtpy project.

  1. Choose from the menu Project->Remove files..
  2. main.c should already be selected, press OK
  3. A new confirmation dialoog will start, press Yes
  4. The files main.c are still there you probably want to deleted them in an File Manager, so you don't accidently add them.

Now that we have our project and workspace, we need to add id's Kingpin Linux SDK source files to the project.

  1. Create a new folder in your project directory called "Source"
  2. Copy the Kingpin Linux SDK source files to this directory
  3. Under the menu Project->Add Files..
  4. Change to the source directory you just created
  5. Select all the *.c and *.h files from the Kingpin source (make sure you don't add main.cpp and main.h if you have not deleted them)
  6. and click Open.

Fixing the Compiler

There still some things missing from the compiler the Kingpin SDK. Kingpin needs some NavLib files otherwise it won't compile.

  1. menu Project->Build Options...
  2. Click on the Tab Linker settings
  3. In the Link libaries: add the 4times the following files including path:
    • g_nav.o
    • g_nav_cells.o
    • g_nav_io.o
    • g_nav_misc.o

Next you need to fix some Compiler flags still under

  1. menu Project->Build Options...
  2. Tab Compiler settings
  3. Turn on flag: Target x86 (32bit) [-m32]
  4. Turn on flag: Position Independent Code [-fPIC]
  5. Now it should compile 32bit atleast without any error.

To compile the .so with the correct name and the correct folder for example in game folder of Kingpin:

  1. menu Project->Properties...
  2. Click on the Tab Build Targets
  3. Output filename: bin\Release\gamei386.so
  4. and click OK

 Download project file

Code::Blocks