原文链接: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客户端(转)的更多相关文章

  1. [转]VS2015编译的程序在其他机器上缺少msvcp120.dll

    http://www.lai18.com/content/1159618.html 1. 今天分享一个自己在开发过程中遇到的困难. 用VS2015开发了一个windows客户端(win32项目),在自 ...

  2. 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集

    上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...

  3. Windows下 VS2015编译levelDB(nmake)

    VS2015编译levelDB Leveldb是一个google实现的非常高效的kv数据库,非常适合嵌入到程序中.如果有简单的key-value数据库需求,而又想使用一个数据库服务的话,levelDB ...

  4. Windows下 VS2015编译boost1.62

    VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...

  5. Windows下 VS2015编译RocksDB

    VS2015编译RocksDB RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式.Roc ...

  6. Windows下 VS2015编译ForestDB

    VS2015编译ForestDB ForestDB 是一个快速的 Key-Value 存储引擎,基于层次B +树单词查找树.由 Couchbase 缓存和存储团队开发. 1.下载forestdb源码 ...

  7. VS2015编译boost1.62

    VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...

  8. VS2015编译Qt5.7.0生成支持XP的静态库(很不错)

    一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...

  9. git的CentOS服务端安装和windows客户端的使用

    git的CentOS服务端安装和windows客户端的使用 此教程以 搬瓦工vps CentOS 6 x64 的系统为环境,搭建 git 服务端.windows 7 系统为客户端. git客户端 在W ...

随机推荐

  1. flutter 页面布局 Paddiing Row Column Expanded 组件

    Flutter Paddiing 组件 在 html 中常见的布局标签都有 padding 属性,但是 Flutter 中很多 Widget 是没有 padding 属 性.这个时候我们可以用 Pad ...

  2. openresty开发系列17--lua中的正则表达式

    与其他脚本语言不同的是,Lua并不使用POSIX规范的正则表达式[4](也写作regexp)来进行模式匹配.主要的原因出于程序大小方面的考虑:实现一个典型的符合POSIX标准的regexp大概需要40 ...

  3. python中修改列表元素的方法

    一.在for循环中直接更改列表中元素的值不会起作用: 如: l = list(range(10)[::2]) print (l) for n in l: n = 0 print (l) 运行结果: [ ...

  4. python动态导入模块——importlib

    当在写代码时,我们希望能够根据传入的选项设置,如args.model来确定要导入使用的是哪个model.py文件,而不是一股脑地导入 这种时候就需要用上python的动态导入模块 比如此时文件结构为: ...

  5. linux生成新的列(awk)

    awk的功能特别强大,其中一个功能就是生成新的列,不论这列是在第一列,最后一列,还是中间,随你任性插入. 举例来说,有下列文件test1.txt test1.txt a b c 1 2 3 现在我想在 ...

  6. 增强篇6 CMOD增强删除

    CMOD实施了一个增强,但是不需要了,怎么删除呢? 要删除PPCO0005 这个增强,进入编辑状态,发现没有删除按钮,  把PPCO0005 这项删除掉 敲回车,厉害了,他又回来了,所以在这里是没法删 ...

  7. 在网页中嵌入Base64编码文件

    大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如:data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAk ...

  8. python 的环境变量

    import sys,os BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(B ...

  9. DSOFramer 控件(转)

    1.Html电子印章.手写签名系统演示:http://www.dianju.com.cn/video.htm在线试用:http://www.dianju.com.cn/websignpiaoju/ht ...

  10. mysql left join 右表数据不唯一的情况解决方法

    mysql left join 右表数据不唯一的情况解决方法 <pre>member 表id username1 fdipzone2 terry member_login_log 表id ...