• Stars
    star
    274
  • Rank 150,274 (Top 3 %)
  • Language
    C++
  • License
    Other
  • Created about 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

云信Windows(PC) C/C++ Demo源码仓库

NetEase IM PC Demo

网易云信 PC IM Demo 是基于网易云信 PC SDK 制作的即时通讯示例程序,UI 库使用 NIM Duilib 制作

GitHub Actions Status

预览

preview

最低要求

  • CMake 3.10 或以上版本
  • Visual Studio 2017 或以上版本
  • Git

开发步骤

NIM Demo 从 8.4.0 版本开始使用 CMake 管理工程结构,您需要下载安装 CMake 并安装到系统中:https://cmake.org/download/

源代码脚本中使用 Git 和 CMake 指令根据当前仓库的提交信息、提交次数来动态生成的目录结构及 .rc 文件版本,您系统中必须安装 Git 客户端并推荐使用 git clone 下载代码而不是直接下载压缩包!

安装完成后,首先克隆项目到你的磁盘中:

git clone https://github.com/netease-im/NIM_PC_Demo.git --depth 10

执行如下命令进行工程初始化,如果你要编译 Release 版本,请替换命令中的 Debug 为 Release

# 初始化项目
cmake -Bbuild -G"Visual Studio 15 2017" -T"v141_xp" -DCMAKE_BUILD_TYPE=Debug

执行如上命令后,会自动下载依赖的三方库文件并解压到工程目录下,如执行无误您将看到如下信息:

############# nim_win_demo ##############
-- Downloading third party libraries from http://yx-web.nos.netease.com/package/1619524144/nim_demo_build_libraries_x86_debug.zip
-- Current git tag: 8.4.0, commit count: 772, describe: 8.4.0-2-gbe6c7fea
############# core #############
############# base #############
############# duilib #############
############# shared #############
############# db #############
############# transfer file P2P #############
############# av_kit #############
############# rtc_kit #############
############# capture_image #############
############# image_view #############
############# nim_service #############
############# ui_kit #############
############# cef_module #############
############# cef_render #############
############# libcef_dll_wrapper #############
############# app_sdk #############
############# nim_demo #############
############# nim demo uninstaller #############
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Code/nim_demo/build

您可以通过打开 build 目录下的 nim_win_demo.sln 来进行调试或通过 CMake 命令直接编译:

cmake --build build --config Debug --target INSTALL

编译完成后会自动拷贝程序到代码根目录的 bin 文件夹下:

Installing: C:/Jks/workspace/NeIM_Demo/pdb/render.pdb
Installing: C:/Jks/workspace/NeIM_Demo/bin/render.exe
Installing: C:/Jks/workspace/NeIM_Demo/pdb/nim_demo.pdb
Installing: C:/Jks/workspace/NeIM_Demo/bin/nim_demo.exe
Installing: C:/Jks/workspace/NeIM_Demo/pdb/uninstall.pdb
Installing: C:/Jks/workspace/NeIM_Demo/bin/uninstall.exe

如您需要编译 Release 版本,则将上面的命令中 Debug 修改为 Release 即可:

cmake -Bbuild -G"Visual Studio 15 2017" -T"v141_xp" -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --target INSTALL

使用音视频 2.0 版本

Demo 支持使用音视频 2.0 能力来展示视频、音频通话场景,您可以在初始化 CMake 脚本时增加参数 BUILD_WITH_NERTC_G2 来开启该功能,如:

cmake . -Bbuild -G"Visual Studio 15 2017" -T"v141_xp" -DBUILD_WITH_NERTC_G2=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build build --config Debug --target install

常见问题

  • 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项
    该问题常见于 Build Type 发生变化时,可在 build 之前加入 clean 命令

    cmake -Bbuild -G"Visual Studio 15 2017" -T"v141_xp" -DCMAKE_BUILD_TYPE=Release
    cmake --build build --config Release --target clean
    cmake --build build --config Release --target INSTALL
  • “rc.exe”已退出, 代码为 x
    检查项目路径是否包含中文,导致 rc 文件中带中文编译出错

  • Demo 运行提示“资源不存在”
    检查项目 bin 目录中 cef_themes、res 等资源是否被删除,若被删除可用 git 恢复

  • Demo 每次构建时会清空 bin 目录并重新生成,如果您有需要运行时必须的文件,可以将其放在 resource 目录中,构建时会自动拷贝到 bin 目录中

交流

  • 遇到问题:关注云信开发人员手册帮助您理解和使用云信 SDK 接口
  • 提交缺陷:在确保使用最新版本依然存在问题时请尽量以简洁的语言描述清楚复现该问题的步骤并提交 Issue
  • 功能建议:如果你有什么好的想法或者提案,欢迎提交 Issue 与我们交流

#推荐好友使用云信,即享 1500 元京东卡奖励# 点击参与https://yunxin.163.com/promotion/recommend?channel=github main

More Repositories

1

nim-uikit-ios

云信 IM UIKit 是基于 NIM SDK(网易云信 IM SDK)开发的一款即时通讯 UI 组件库,包括聊天、会话、圈组、搜索、群管理等组件。通过 IM UIKit,可快速集成包含 UI 界面的即时通讯应用。
Swift
1,494
star
2

nim-uikit-android

云信 IM UIKit 是基于 NIM SDK(网易云信 IM SDK)开发的一款即时通讯 UI 组件库,包括聊天、会话、圈组、搜索、群管理等组件。通过 IM UIKit,可快速集成包含 UI 界面的即时通讯应用。
Java
692
star
3

NIM_Web_Demo

网易云信Web Demo发布仓库。#推荐客户得京东卡#首次推荐成单得3000元京东卡,连续推荐4500元/单,上不封顶。点击参与https://yunxin.163.com/promotion/recommend
JavaScript
436
star
4

NIM_PC_UIKit

C++
199
star
5

NIM_Android_Demo

云信 IM 功能使用参考: https://github.com/netease-kit/nim-uikit-android
Java
158
star
6

NEChatroom

网易云信推出语聊房场景方案,支持语聊 + K 歌、语聊 + 一起听、游戏开黑、多人相亲等多种娱乐社交玩法。提供现成的 Demo App 、可定制的 UI 界面、开源的 Demo 源码,开箱即用,帮助您快速接入、轻松上线语聊房相关业务。
Java
77
star
7

NIM_Web_UIKit

网易云信Web UI组件源码仓库
JavaScript
73
star
8

Wawaji

网易云信娃娃机解决方案
C++
55
star
9

meeting

https://github.com/GrowthEase/NetEase_Meeting
C++
40
star
10

NEVideoCall-1to1

网易云信新一代音视频SDK场景方案开源项目,包含基础场景如一对一音视频通话、多人音视频通话;社交娱乐场景如多人语音聊天室、PK直播等
Objective-C
37
star
11

WisdomEducation

智慧云课堂是网易云信提供的在线互动课堂场景解决方案,基于在线教育场景提供多种课堂模式实践。专为线上课堂场景打造,覆盖多种班型的教学场景、全终端的接入能力,支持课程录制、白板互动、课程活跃度分析等远程课堂功能。在实现云课堂实时互动功能的基础上,还支持业务功能的灵活扩展,帮助您快速上线专属互动教学平台。
Objective-C
36
star
12

NEMeeting

网易会议,是基于网易云信自主研发的新一代云信音视频SDK(G2)提供的视频会议组件化产品,支持直接下载使用,也支持基于SDK将网易会议以组件的方式集成到自己的应用中。本项目提供网易会议产品手册、开发文档、示例项目等相关内容。
C++
35
star
13

NECallKit

实现呼叫、接听、挂断能力,应用于语音、视频通话场景
Objective-C
27
star
14

NEGroupCall

Java
25
star
15

nim-uikit-web

nim uikit web
TypeScript
25
star
16

nim-uikit-flutter

Dart
24
star
17

NIM_iOS_Demo

云信 IM 功能使用参考: https://github.com/netease-kit/nim-uikit-ios
Objective-C
21
star
18

NERTC-Flutter-SDK

NetEase RTC plugin for Flutter Mobile
Dart
18
star
19

nemo

 Nemo是云信派对APP的后端服务开源项目,包括1v1娱乐社交,语聊房、一起听,游戏房,秀场直播(PK直播、pk连麦)场景解决方案的实现。
Java
17
star
20

NIM-Flutter-SDK

C++
16
star
21

Music

网易云信音乐教学解决方案
Java
12
star
22

nim-uikit-uniapp

Objective-C
11
star
23

1V1

Java
8
star
24

OnlinePK

Objective-C
8
star
25

Kit-FullSearch-Electron

TypeScript
7
star
26

documents

4
star
27

NERtcCallKit-Android

Java
4
star
28

NEMedecal

Java
4
star
29

NERtcCallKit-Web

网易云信web端组件化源码工程
TypeScript
3
star
30

NEKaraoke

Java
3
star
31

Developer-Challenge-2021

Java
2
star
32

qchat-uikit-ios

云信 QChat UIKit 是基于 NIM QChat SDK(网易云信 QChat SDK)开发的一款圈组 UI 组件库。通过 QChat UIKit,可快速集成包含 UI 界面的圈组应用。
Swift
2
star
33

nim-uikit-demo-web

nim uikit demo web
TypeScript
2
star
34

nim-uikit-demo-vue

Vue
2
star
35

NERtcCallKit-PC

C++
1
star
36

NEEducation

QML
1
star
37

NEListenTogether

一起听
Java
1
star
38

NELiveKit

Objective-C
1
star
39

NetEase-IM

1
star
40

NEGameRoom

Java
1
star
41

NERtcCallKit-iOS

Objective-C
1
star