VS2015编译Teamtalk的Windows客户端(转)
原文链接:https://blog.csdn.net/qtstar/article/details/54732581
一、(首先要把teamtalk整个项目download下来或git一个副本下来)打开teamtalk.sln解决方案,升级为vs2015项目。编译解决方案,提示错误信息如图所示:
好吧,按VS大爷的提示把这个宏添加到相应项目的预编译宏中(Properties->c/c++->Preprocessor->Preprocessor Definitions),再跑VS,如果还有提示此宏错误,再到相应项目添加上,直到不再有此错误提示为止。
二、提示有两处结构体初始化的错误,如下图所示:
将mbstate_t out_state = 0;修改为mbstate_t out_state = {0}; 两处初始化错误都是按同样方法更改即可,继续前进。
三、提示mfcs120ud.lib错误,如下图所示:
在对应提示出错的项目的属性中库(Properties->Linker->Input->Additional Dependencies)引用中更改其名称为mfcs140ud.lib即可,(需要改的项目为utility、modules)
四、bui~bui~错误又来了,提示错误如下图所示:
解决此错误只需重新编译protobuf源码和security生成新的lib文件复制到win-client/3rdParty/lib/debug目录下即可,easy job...
A、解压win-client/3rdParty目录下的protobuf-2.6.1压缩包,打开protobuf-2.6.1/vsprojects/protobuf.sln文件编译,其将提示与步骤一中显示的错误一样,按步骤一解决方法添加上预编译宏即可解决(因为我们只需libprotobuf和libprotobuf-lite此两个库,解决完这两个编译出来即可其他项目不管了,完成编译后在protobuf目录下的Debug目录中生成此两个库),此错误提示图如下:
B、编译security库,(注:先安装Cmake好并把其安装路径添加到path中)进入/server/src/libsecurity/win/目录下命令行运行build.bat批处理文件,但其提示“else 不是内部或外部命令,也不是可运行的程序或批处理文件。”修改批处理文件else跟随到右括号)后面即可,切记要安装好cmake哟,不然无法跑这个脚本生成VS项目文件.
运行脚 本后生成项目文件后运行解决方案生成库也复制到win-client/3rdParty/lib/debug目录下即可
编译时会提示int8_t重复定义,将security.h中的typedef注释掉编译.
还有一个错误即是在以下的两行注释内容最后面添加半角的句号,对的就是这个点"."号
修正后如下图所示:
OK,security库编译收工.
五、继续回到teamtalk编译,编译器一路高歌猛进,势如破竹,无错误完成编译。
VS2015编译Teamtalk的Windows客户端(转)的更多相关文章
- [转]VS2015编译的程序在其他机器上缺少msvcp120.dll
http://www.lai18.com/content/1159618.html 1. 今天分享一个自己在开发过程中遇到的困难. 用VS2015开发了一个windows客户端(win32项目),在自 ...
- 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集
上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...
- Windows下 VS2015编译levelDB(nmake)
VS2015编译levelDB Leveldb是一个google实现的非常高效的kv数据库,非常适合嵌入到程序中.如果有简单的key-value数据库需求,而又想使用一个数据库服务的话,levelDB ...
- Windows下 VS2015编译boost1.62
VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...
- Windows下 VS2015编译RocksDB
VS2015编译RocksDB RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式.Roc ...
- Windows下 VS2015编译ForestDB
VS2015编译ForestDB ForestDB 是一个快速的 Key-Value 存储引擎,基于层次B +树单词查找树.由 Couchbase 缓存和存储团队开发. 1.下载forestdb源码 ...
- VS2015编译boost1.62
VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...
- VS2015编译Qt5.7.0生成支持XP的静态库(很不错)
一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...
- git的CentOS服务端安装和windows客户端的使用
git的CentOS服务端安装和windows客户端的使用 此教程以 搬瓦工vps CentOS 6 x64 的系统为环境,搭建 git 服务端.windows 7 系统为客户端. git客户端 在W ...
随机推荐
- 二、HTTP请求
一.测试对象:v2ex的api 文档:https:www.v2ex.com/p/7vpTEc53 api:https://www.v2ex.com/api/topic/hot.json 最热主题:相当 ...
- windows下安装anaconda和tensorflow
anaconda确实很好用,省去了很多麻烦,现在我个人推荐直接使用anaconda. anaconda的特点:可以存在多个python环境,要使用某一个环境的话,就需要切换到这个环境,安装.卸载包都是 ...
- RestSHarp
异步扩展: public static class RestClientExtensions { private static Task<T> SelectAsync<T>(t ...
- 先查询再插入,改为存储过程,java部分入参出参、mybatisxml【我】
先查询再插入,改为存储过程 create or replace procedure PRO_REVENUE_SI(l_p_cd in Varchar2, l_c_cd in Varchar2, l_p ...
- C#中,子线程与主线程之间的通信是如何实现(转)
注: 项目中按照这个方法调试成功: 通常我们会有这种需求: 一个支持慢速设备的处理类,如网络通信.串口通信.打印等 此时经常需要将线程封装在类里面,让类支持异步处理,然后发布事件或者回调委托通知主线程 ...
- ubuntu18.04手动安装二进制MySQL8.0
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz tar xvJf ...
- SpringBoot学习笔记:自定义拦截器
SpringBoot学习笔记:自定义拦截器 快速开始 拦截器类似于过滤器,但是拦截器提供更精细的的控制能力,它可以在一个请求过程中的两个节点进行拦截: 在请求发送到Controller之前 在响应发送 ...
- 由于我最近搞了个wordpress搭建博客,这里我为大家分享一哈,使用wordpress过程中遇到的坑
Windows server下搭建mysql+php+apache环境参考教程: https://blog.csdn.net/qq_38125058/article/details/81157865 ...
- mysql 中不等于过滤 null 的问题(同时比较等于,大于和小于)
在写 SQL 条件语句是经常用到 不等于'!='的筛选条件,此时要注意此条件会将字段为 null 的数据也当做满足不等于的条件而将数据筛选掉. 1.原始数据和表结构 CREATE TABLE `tes ...
- mysql 事物控制语言
事务控制语言(DTL) 什么是事务 通常,在此之前,我们说,一条语句使用一个分号(;)来结束,并得到执行. 那么我们说,这个“一次性执行”的过程,可以称为“一个事务” ...