Creating Binary Modules: Premake
İkili modüller, C++ kullanarak Lua'nın işlevselliğini genişletmenize olanak tanır.
Bu sayfa, Premake kullanarak ikili modülleri derlemek için IDE'nizi nasıl kuracağınızı öğretecektir.
Kurulum tamamlandıktan sonra C Lua API ile etkileşim konusunda yardım için C Lua: Fonksiyonlar sayfasına bakın.
Bağımlılıklar
- Windows: Visual Studio 2015, Visual Studio 2017 veya Visual Studio 2019 (Visual Studio 2022 bende herhangi bir soruna yol açmadı)
- Linux: GCC (Eğer dağıtımınız
aptdestekliyorsasudo apt install build-essentialkomutuna dahildir) - macOS: Xcode (GCC derleyicisini kullanın) (Test edilmedi)
- garrysmod_common deposunun bir kopyası
- Premake5 ikili dosyaları
- Git
Proje Kurulumu
Yeni bir klasör oluşturun ve istediğiniz gibi adlandırın. Bu, projenizin ana klasörü olacaktır. Gelecekte erişebileceğiniz bir yere koyun.
Yeni proje klasörüne gidin ve
git clone https://github.com/danielga/garrysmod_common.gityazın. Ardından projede bir garrysmod_common klasörü görmelisiniz.garrysmod_commonklasörüne gidin, ardındangit submodule update --init --recursiveyazın. Bu işlem tamamlandıktan sonra tekrar proje klasörüne gidin.Premake5 ikili dosyalarını proje klasörüne bırakın.
premake5.luaadında bir dosya oluşturun ve aşağıdakini içine yapıştırın:- Eğer sadece sunucu tarafı ikili dosyaları oluşturmak istiyorsanız,
serverside = falseyazan bölümü silebilirsiniz. CreateWorkspace({name = "example"kısmındaki adı kendi proje adınızla değiştirin, örn.name = "myprojectname"
- Eğer sadece sunucu tarafı ikili dosyaları oluşturmak istiyorsanız,
sourceadında bir klasör oluşturun ve içinemodule.cppadında boş bir dosya yerleştirin. Bu dosyanın içeriğini kopyalayıp içine yapıştırın..
Proje klasörünüz şöyle görünmelidir:

Sisteminizin komut isteminde, proje klasörüne gidin ve aşağıdakileri çalıştırın:
- Windows:
premake5.exe --os=windows --gmcommon=./garrysmod_common vs2022(vs2022'yi kendi Visual Studio sürümünüzle değiştirin, örn. vs2019) - Linux:
./premake5 --os=linux --gmcommon=./garrysmod_common gmake2 - macOS:
./premake5 --os=macosx --gmcommon=./garrysmod_common xcode4
Bu, bir projects klasörü oluşturacaktır; bu klasöre gitmeli ve çalışmaya başlamalısınız. Eğer Visual Studio kullanıyorsanız, çözüm dosyanız (solution file) burada olacaktır.
Adlandırma ve Konum
Modül dosyaları garrysmod/lua/bin/ klasörüne yerleştirilmelidir.
İsimler, platforma ve Lua alanına (realm) göre farklılık gösterir.
| Dosya adı | Taraf | require(ad) | Platform |
|---|---|---|---|
gmsv_example_win32.dll |
Sunucu | example | Windows x32 |
gmcl_example_win32.dll |
İstemci | example | Windows x32 |
gmsv_example_win64.dll |
Sunucu | example | Windows x64 (x86-64 branch'ı gereklidir) |
gmcl_example_win64.dll |
İstemci | example | Windows x64 (x86-64 branch'ı gereklidir) |
gmsv_example_osx.dll |
Sunucu | example | OSX (aslında bir .so dosyasıdır, sadece yeniden adlandırılmıştır) |
gmcl_example_osx.dll |
İstemci | example | OSX (aslında bir .so dosyasıdır, sadece yeniden adlandırılmıştır) |
gmsv_example_linux.dll |
Sunucu | example | Linux x32 (aslında bir .so dosyasıdır, sadece yeniden adlandırılmıştır) |
gmcl_example_linux.dll |
İstemci | example | Linux x32 (aslında bir .so dosyasıdır, sadece yeniden adlandırılmıştır) |
gmsv_example_linux64.dll |
Sunucu | example | Linux x64 (aslında bir .so dosyasıdır, sadece yeniden adlandırılmıştır; x86-64 branch'ı gereklidir) |
gmcl_example_linux64.dll |
İstemci | example | Linux x64 (aslında bir .so dosyasıdır, sadece yeniden adlandırılmıştır; x86-64 branch'ı gereklidir) |
gmsv_ad_platform.dll altında kategorize edilirTüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord