emretufekci / pjsua2-cs-binding

This repository shows how to build C# binding for pjsip-pjproject on Windows platforms. Tested with Visual Studio 2022

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PJSUA2-cs-build

This repository provides instructions and resources for building the C# bindings of the pjsip/pjproject library on Windows platforms. It has been tested and verified to work with Visual Studio 2022.

Overview

The pjsua2-cs-build repository aims to simplify the process of building the C# bindings for the pjsip/pjproject library on Windows. This library is a versatile and powerful multimedia communication library written in C language, and the C# bindings allow developers to use its capabilities within a C# environment.

Prerequisites

Before proceeding with the build process, ensure you have the following tools and libraries installed on your system:

Visual Studio 2022 The pjsip/pjproject library Building the C# Bindings

Follow these steps to build the C# bindings using this repository:

1. Clone the Repository:

git clone https://github.com/TalhaYolcu/pjsua2-cs-build.git

2. Open the Solution:

Navigate to the cloned repository folder and open the solution file pjsua2-cs-build.sln in Visual Studio 2022.

3. Configure Preprocessor Options:

In the config_site.h file, make sure the following definitions are set correctly:

#define PJ_EXPORT_SPECIFIER __declspec(dllexport)
#define PJ_IMPORT_SPECIFIER __declspec(dllimport)
#define PJ_DLL 1
#ifdef _LIB
#define PJ_EXPORTING 1
#endif

4. Build the Solution:

Build the solution using the Visual Studio build tools. Ensure that your build configuration is set to the desired platform and configuration (e.g., Debug or Release).

5. Verify Build Success:

After the build process completes, verify that the C# bindings have been successfully generated.

Notes

Make sure to have the required version of Visual Studio (e.g., Visual Studio 2022) installed on your system before starting the build process. You may need to configure additional build settings depending on your project's requirements. Libraries such as msvcrt.lib have been removed from the build. Additionally, the preprocessor options PJ_DLL and PJ_EXPORTING need to be correctly set for the build to succeed. License

Acknowledgments

We would like to express our gratitude to the developers of the pjsip/pjproject library for providing such a powerful multimedia communication toolset, and to the open-source community for their contributions.

About

This repository shows how to build C# binding for pjsip-pjproject on Windows platforms. Tested with Visual Studio 2022

License:GNU General Public License v2.0


Languages

Language:C 65.3%Language:C++ 19.1%Language:C# 8.5%Language:Python 2.4%Language:Shell 1.6%Language:Objective-C 1.2%Language:Makefile 0.5%Language:Java 0.5%Language:Mathematica 0.4%Language:Swift 0.1%Language:Assembly 0.1%Language:CSS 0.1%Language:SWIG 0.1%Language:Kotlin 0.0%Language:Rust 0.0%Language:Objective-C++ 0.0%Language:HTML 0.0%Language:QMake 0.0%Language:Batchfile 0.0%Language:QML 0.0%Language:Pan 0.0%