{"id":19481529,"url":"https://github.com/netease-kit/nim_pc_demo","last_synced_at":"2025-04-08T08:17:11.454Z","repository":{"id":44764992,"uuid":"44523537","full_name":"netease-kit/NIM_PC_Demo","owner":"netease-kit","description":"云信Windows(PC) C/C++ Demo源码仓库","archived":false,"fork":false,"pushed_at":"2025-01-14T10:24:17.000Z","size":1502044,"stargazers_count":278,"open_issues_count":26,"forks_count":174,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-01T07:41:50.972Z","etag":null,"topics":["c-plus-plus","cef","chromium","demo","duilib","im-chat","im-meeting","nim"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netease-kit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-10-19T09:15:01.000Z","updated_at":"2025-03-21T12:29:43.000Z","dependencies_parsed_at":"2024-11-24T22:01:21.865Z","dependency_job_id":"e500fabb-0130-42f0-94d6-71328f053f2e","html_url":"https://github.com/netease-kit/NIM_PC_Demo","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netease-kit%2FNIM_PC_Demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netease-kit%2FNIM_PC_Demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netease-kit%2FNIM_PC_Demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netease-kit%2FNIM_PC_Demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netease-kit","download_url":"https://codeload.github.com/netease-kit/NIM_PC_Demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247801175,"owners_count":20998339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","cef","chromium","demo","duilib","im-chat","im-meeting","nim"],"created_at":"2024-11-10T20:05:18.149Z","updated_at":"2025-04-08T08:17:11.435Z","avatar_url":"https://github.com/netease-kit.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NetEase IM PC Demo\n\n网易云信 PC IM Demo 是基于[网易云信 PC SDK](https://yunxin.163.com/im-sdk-demo) 制作的即时通讯示例程序，UI 库使用 [NIM Duilib](https://github.com/netease-im/NIM_Duilib_Framework) 制作\n\n![GitHub](https://img.shields.io/badge/license-MIT-green.svg) | [![Actions Status](https://github.com/netease-im/NIM_PC_Demo/workflows/MSBuild/badge.svg)](https://github.com/netease-im/NIM_PC_Demo/actions)\n\n## 预览\n\n![preview](preview.png)\n\n## 最低要求\n\n- CMake 3.19 或以上版本 [Download](https://cmake.org/download/)\n- Visual Studio 2017 或以上版本 [Download](https://visualstudio.microsoft.com/zh-hans/downloads/)\n- Git [Download](https://git-scm.com/downloads)\n- Python3 [Download](https://www.python.org/downloads/)\n- Conan \u003e1.65.0 \u003c2.0.0（python -m pip install conan==1.65.0）\n\n## 开发步骤\n\n您需要根据最低要求中的版本安装对应的工具，安装完成后，首先克隆项目到你的磁盘中：\n\n```\ngit clone https://github.com/netease-im/NIM_PC_Demo.git --depth 10\n```\n\n### 输出 Debug 工程\n\n执行如下命令初始化 Debug 调试版本的项目：\n\n\u003e [!NOTE]\n\u003e 首次初始化 Debug 或 Release 工程时会自动下载并编译依赖的三方库代码，这个过程可能相对较慢，请耐心等待。当您再次编译时，将不再重复下载和编译三方库代码而是使用上一次编译后的产物。\n\n```bash\n# 生成 64 位 Debug 工程，如果您未指定 Visual Studio 版本将默认使用本机安装的最新版本\ncmake -Bbuild -Ax64 -DCMAKE_BUILD_TYPE=Debug\n\n# 生成 32 位 Debug 工程\ncmake -Bbuild -AWin32 -DCMAKE_BUILD_TYPE=Debug\n```\n\n\u003e [!TIP]\n\u003e Visual Studio 2017 以下版本工具链不支持使用 cmake -A 参数来指定目标产物架构，您可以使用如下命令分别生成 32 位和 64 位的工程\n\u003e\n\u003e `cmake -Bbuild -G \"Visual Studio 15 2017\" -DCMAKE_BUILD_TYPE=Debug`\n\u003e\n\u003e `cmake -Bbuild -G \"Visual Studio 15 2017 Win64\" -DCMAKE_BUILD_TYPE=Debug`\n\n您可以通过打开 build 目录下的 `nim_win_demo.sln` 来进行调试或通过 CMake 命令直接编译：\n\n```bash\ncmake --build build --config Debug\n```\n\n### 输出 Release 工程\n\n如您需要编译 Release 版本，则将上面的命令中 Debug 修改为 Release 即可：\n\n```bash\n# 生成 64 位 Release 工程，\ncmake -Bbuild -Ax64 -DCMAKE_BUILD_TYPE=Release\ncmake --build build --config Release\n\n# 生成 32 位 Release 工程，\ncmake -Bbuild -AWin32 -DCMAKE_BUILD_TYPE=Release\ncmake --build build --config Release\n```\n\n\u003e [!TIP]\n\u003e 所有产物均生成在项目根目录下的 bin 文件夹中，项目编译完成后您可以直接从 bin 目录下运行 nim_demo.exe 来启动 Demo\n\n\u003e [!IMPORTANT]\n\u003e 需要注意的是，由于 Debug 和 Release 版本的依赖库文件都会拷贝到 bin 目录下，因此在切换 Debug 和 Release 版本时请使用 `git clean -xdf` 命令清理 bin 目录下的临时文件\n\n### 制作安装包\n\n当所有产物编译完成后，您可以执行如下命令编译安装包，安装包最终输出在 bin 目录下：\n\n```bash\ncmake --build build --config Release --target installer\n```\n\n## 更新 IM SDK 版本\n\nIM SDK 当前使用 Conan 包管理工具管理，如果您需要检索已经发布的版本，可通过如下命令搜索：\n\n```bash\nconan search nim -r yunxin\n```\n\n输出结果类似：\n\n```bash\nExisting package recipes:\n\nnim/9.10.0@yunxin/stable\nnim/9.12.1@yunxin/stable\nnim/9.12.2@yunxin/stable\nnim/9.13.0@yunxin/stable\nnim/9.14.2@yunxin/stable\nnim/9.15.0@yunxin/stable\nnim/9.15.1@yunxin/stable\nnim/9.18.0@yunxin/stable\nnim/10.5.0@yunxin/stable\n```\n\n您可以打开 `conanfile.py` 文件，修改 `self.requires(\"nim/*.*.*@yunxin/stable\")` 为指定版本即可，修改完成后重新执行 CMake 初始化命令即可，CMake 会自动下载并编译指定版本的 IM SDK。\n\n## 交流\n\n- 遇到问题：关注[云信开发人员手册](https://dev.yunxin.163.com/)帮助您理解和使用云信 SDK 接口\n- 提交缺陷：在确保使用最新版本依然存在问题时请尽量以简洁的语言描述清楚复现该问题的步骤并提交 Issue\n- 功能建议：如果你有什么好的想法或者提案，欢迎提交 Issue 与我们交流\n\n#推荐好友使用云信，即享 1500 元京东卡奖励# 点击参与https://yunxin.163.com/promotion/recommend?channel=github\n[![main](https://yx-web-nosdn.netease.im/quickhtml%2Fassets%2Fyunxin%2Fdefault%2F2022%2Fgithub%2F233.png)](https://yunxin.163.com/promotion/recommend?channel=github)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetease-kit%2Fnim_pc_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetease-kit%2Fnim_pc_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetease-kit%2Fnim_pc_demo/lists"}