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 ...
随机推荐
- Windows系统CPU和内存状态实时查询(Java)
一.背景 需要查询Windows服务器的CPU和内存状态. Linux系统查询CPU和内存状态很简单,一个top命令搞定,Windows就稍微麻烦一些了. 经过资料查找,发现jdk目前不能直接查询系统 ...
- git如何查找某个包含指定字符串的commit hash值?
答: git shortlog --format='%H|%cn|%s' | grep '需要查找的字符串内容'
- 关于golang中IO相关的Buffer类浅析
io重要的接口 在介绍buffer之前,先来认识两个重要的接口,如下边所示: type Reader interface { Read(p []byte) (n int, err error) } t ...
- 如何禁用Chrome浏览器的Flash
使用Chrome浏览器时,经常会因为Flash而导致CPU占用过多,系统变慢.如果你常访问的网站很少用到的Flash或者页面上的Flash不是网站的核心功能,那么建议禁用Flash.禁用Flash的步 ...
- ionic生命周期函数
Ionic4中的生命周期函数和angualr7基本是一样的,下面我们看看Ionic4中的生命周期函数,以及生命周期函数的用法. Ionic4中内置的生命周期函数: ionViewWillEnter — ...
- Ajax serialize()提交form表单不能上传file类型
前台form表单的提交方式有很多种,例如: 1. form表单submit直接提交的方法 2. Ajax提交的方法 3. jquery提交的方法 4. 原生js提交的方法 每一种方法都有它的优势和不足 ...
- ISO/IEC 9899:2011 条款6.7.10——静态断言
6.7.10 静态断言 语法 1.static-assert_declaration: _Static_assert ( constant-expression , strin ...
- PhpStorm文本选择范围的纵向起始位置可选
ide一般都有这个功能. Alt+Shift+insert开启这个功能,使用效果如下,红色是默认选择的范围,绿色是我们想要的
- JAVA视频压缩
https://www.cnblogs.com/chuanyueinlife/p/9014627.html
- 怎么改变wampserver默认的网站目录
现在大家基本上开发php的有很大一部分都在用Wampserver,今天来讲讲怎么更改默认的www目录, 需要修改的文件有三个 apache2的配置文件 httpd.conf 和 Wampserver的 ...