Difference between revisions of "Compiling SourceMod Plugins"

From AlliedModders Wiki
Jump to: navigation, search
m (added "cmd")
(Recommend Spider before the web compiler)
 
(8 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Ok, so you've read the [[Introduction to SourcePawn]] and [[Introduction to SourceMod Plugins]] and now you want to actually compile a plugin.
+
Okay, so you've read the [[Introduction to SourcePawn]] and [[Introduction to SourceMod Plugins]] and now you want to actually compile a plugin.
  
You'll need the compiler which is included in the .../sourcemod/scripting/ folder of the [http://www.sourcemod.net/builds.php main distribution] (not the [http://www.sourcemod.net/sdk.php SDK]). Windows users will need [http://www.7-zip.org/ 7-zip] to extract the files.
+
The simplest way to compile a plugin that doesn't rely on any custom include files is using [https://spider.limetech.io/ Spider] or [http://www.sourcemod.net/compiler.php the web compiler].
  
In Windows, open up a command prompt (Start->Run or WindowsKey+R, then "cmd"):
+
Alternatively, you can use the executable compiler distributed with SourceMod. You can use this simply if you like compiling locally rather than using the web compiler. You have to use the local compiler if your plugin relies on custom include files. The compiler is included in the sourcemod/scripting/ folder of the [http://www.sourcemod.net/downloads.php SourceMod distribution].
 +
 
 +
Windows: open up a command prompt (Start->Run or WindowsKey+R, then "cmd"):
 
  cd <sourcemod>\scripting
 
  cd <sourcemod>\scripting
 
  spcomp myplugin.sp
 
  spcomp myplugin.sp
 
[http://www.computerhope.com/cdhlp.htm cd command reference]
 
[http://www.computerhope.com/cdhlp.htm cd command reference]
  
In Linux use:
+
Alternatively, you can simply drag the .sp file on top of spcomp.exe, which will compile the plugin for you.
  ./spcomp myplugin.sp
+
 
 +
Linux: Depending on your Linux flavour you need to install the libc6 and libstdc++6 32bit libraries before you start to compile
 +
 
 +
Example for Ubuntu:
 +
  apt-get install libc6:i386 lib32stdc++6
 +
 
 +
Then use:
 +
  ./compile.sh myplugin.sp
  
Now simply move the .smx (not .sp) file from .../sourcemod/scripting/ to the .../sourcemod/plugins/ folder.
+
Now simply move the .smx (not .sp) file from sourcemod/scripting/compiled/ to the sourcemod/plugins/ folder.
  
 +
'''Note:''' When compiling preexisting plugins it is easiest to move the included from the plugin source folder to the include folder in your sourcemod/scripting/include. Please see [[Spcomp_switches]] specifically the ''-i'' parameter for specifying a different folder for includes.
  
 
[http://forums.alliedmods.net/showthread.php?t=52664 Reference Source]
 
[http://forums.alliedmods.net/showthread.php?t=52664 Reference Source]
  
 
See Also: [http://forums.alliedmods.net/forumdisplay.php?f=107 Scripting Forum]
 
See Also: [http://forums.alliedmods.net/forumdisplay.php?f=107 Scripting Forum]

Latest revision as of 10:27, 25 November 2023

Okay, so you've read the Introduction to SourcePawn and Introduction to SourceMod Plugins and now you want to actually compile a plugin.

The simplest way to compile a plugin that doesn't rely on any custom include files is using Spider or the web compiler.

Alternatively, you can use the executable compiler distributed with SourceMod. You can use this simply if you like compiling locally rather than using the web compiler. You have to use the local compiler if your plugin relies on custom include files. The compiler is included in the sourcemod/scripting/ folder of the SourceMod distribution.

Windows: open up a command prompt (Start->Run or WindowsKey+R, then "cmd"):

cd <sourcemod>\scripting
spcomp myplugin.sp

cd command reference

Alternatively, you can simply drag the .sp file on top of spcomp.exe, which will compile the plugin for you.

Linux: Depending on your Linux flavour you need to install the libc6 and libstdc++6 32bit libraries before you start to compile

Example for Ubuntu:

 apt-get install libc6:i386 lib32stdc++6

Then use:

./compile.sh myplugin.sp

Now simply move the .smx (not .sp) file from sourcemod/scripting/compiled/ to the sourcemod/plugins/ folder.

Note: When compiling preexisting plugins it is easiest to move the included from the plugin source folder to the include folder in your sourcemod/scripting/include. Please see Spcomp_switches specifically the -i parameter for specifying a different folder for includes.

Reference Source

See Also: Scripting Forum