vs2015 编译obs studio 遇到的几个错误
1.
>D:\project\vs\obs\ObsProject\obs-studio\plugins\win-wasapi\win-wasapi.cpp(245): error C2065: “KSAUDIO_SPEAKER_2POINT1”: 未声明的标识符
1>D:\project\vs\obs\ObsProject\obs-studio\plugins\win-wasapi\win-wasapi.cpp(245): error C2131: 表达式的计算结果不是常数
1> D:\project\vs\obs\ObsProject\obs-studio\plugins\win-wasapi\win-wasapi.cpp(245): note: 非常量参数或对非常量符号的引用导致了故障
1> D:\project\vs\obs\ObsProject\obs-studio\plugins\win-wasapi\win-wasapi.cpp(245): note: 请参见“KSAUDIO_SPEAKER_2POINT1”的用法
解决方案:
再win-wasapi.cpp 内添加定义KSAUDIO_SPEAKER_2POINT1 宏:
#define KSAUDIO_SPEAKER_2POINT1 (KSAUDIO_SPEAKER_STEREO|SPEAKER_LOW_FREQUENCY)
2.
D:\project\vs\obs\ObsProject\obs-studio\plugins\win-wasapi\win-wasapi.cpp(245): error C2051: case 表达式不是常量
2>d:\project\vs\obs\obsproject\obs-studio\deps\json11\json11.hpp(110): error C2228: “.begin”的左边必须有类/结构/联合 (编译源文件 D:\project\vs\obs\ObsProject\obs-studio\deps\json11\json11.cpp)
2> d:\project\vs\obs\obsproject\obs-studio\deps\json11\json11.hpp(110): note: 类型是“add_rvalue_reference<_Ty>::type” (编译源文件 D:\project\vs\obs\ObsProject\obs-studio\deps\json11\json11.cpp)
2>d:\project\vs\obs\obsproject\obs-studio\deps\json11\json11.hpp(110): error C2227: “->first”的左边必须指向类/结构/联合/泛型类型 (编译源文件 D:\project\vs\obs\ObsProject\obs-studio\deps\json11\json11.cpp)
2>d:\project\vs\obs\obsproject\obs-studio\deps\json11\json11.hpp(111): error C2228: “.begin”的左边必须有类/结构/联合 (编译源文件 D:\project\vs\obs\ObsProject\obs-studio\deps\json11\json11.cpp)
2> d:\project\vs\obs\obsproject\obs-studio\deps\json11\json11.hpp(111): note: 类型是“add_rvalue_reference<_Ty>::type” (编译源文件 D:\project\vs\obs\ObsProject\obs-studio\deps\json11\json11.cpp)
2>d:\project\vs\obs\obsproject\obs-studio\deps\json11\json11.hpp(111): error C2227: “->second”的左边必须指向类/结构/联合/泛型类型 (编译源文件 D:\project\vs\obs\ObsProject\obs-studio\deps\json11\json11.cpp)
解决方案:
参考之前版本的json11 然后提换一下现在的json11文件。
具体差异:
再 json11.hpp 添加:
// declval example
#include <utility> // std::declval
#include <iostream> // std::cout
template<class T>
typename std::add_rvalue_reference<T>::type declval() noexcept;
using namespace std;
然后下面提换内容:
//此处最新版的代码编译会有问题所以注释起来还是使用之前版本的代码进行编译 by_songgp add20190422
/*
// Implicit constructor: anything with a to_json() function.
template <class T, class = decltype(&T::to_json)>
Json(const T & t) : Json(t.to_json()) {} // Implicit constructor: map-like objects (std::map, std::unordered_map, etc)
template <class M, typename std::enable_if<std::is_constructible<std::string, decltype((std::declval<M>()).begin()->first)>::value&& std::is_constructible<Json, decltype(std::declval<M>().begin()->second)>::value, int>::type = 0>
Json(const M & m) : Json(object(m.begin(), m.end())) {} // Implicit constructor: vector-like objects (std::list, std::vector, std::set, etc)
template <class V, typename std::enable_if<std::is_constructible<Json, decltype(*std::declval<V>().begin())>::value, int>::type = 0>Json(const V & v) : Json(array(v.begin(), v.end())) {} // This prevents Json(some_pointer) from accidentally producing a bool. Use
// Json(bool(some_pointer)) if that behavior is desired.
Json(void *) = delete; // Accessors
Type type() const;
*/ // Implicit constructor: anything with a to_json() function.
template <class T, class = decltype(&T::to_json)>
Json(const T & t) : Json(t.to_json()) {} // Implicit constructor: map-like objects (std::map, std::unordered_map, etc)
template <class M, typename std::enable_if<
std::is_constructible<std::string, typename M::key_type>::value
&& std::is_constructible<Json, typename M::mapped_type>::value,
int>::type = >
Json(const M & m) : Json(object(m.begin(), m.end())) {} // Implicit constructor: vector-like objects (std::list, std::vector, std::set, etc)
template <class V, typename std::enable_if<
std::is_constructible<Json, typename V::value_type>::value,
int>::type = >
Json(const V & v) : Json(array(v.begin(), v.end())) {} // This prevents Json(some_pointer) from accidentally producing a bool. Use
// Json(bool(some_pointer)) if that behavior is desired.
Json(void *) = delete; // Accessors
Type type() const;
3.
-preview.cpp(932): error C2719: 'transform': formal parameter with requested alignment of 16 won't be aligned
原因可能是因为vs2015 编译的是win3
解决方案:
修改 window-basic-preview.cpp 文件中
static bool IntersectBox(matrix4 transform, float x1, float x2, float y1,
float y2)
为下面的内容:
static bool IntersectBox(matrix4& transform, float x1, float x2, float y1,
float y2)
参考:
https://blog.csdn.net/kupepoem/article/details/44239193
vs2015 编译obs studio 遇到的几个错误的更多相关文章
- vs2015编译OBS-Studio
编译之前的准备: 系统win10 QT5.7.0 VS2015 CMake 3.13.4 obs vs2015环境依赖包:dependencies2015 obs-studio 24.0 ====== ...
- vs2015编译OBS-Studio21.1.12
原文地址:http://www.freesion.com/article/37445100/ 参考:https://blog.csdn.net/su_vast/article/details/7498 ...
- VS2015编译Qt5.7.0生成支持XP的静态库(很不错)
一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...
- Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)
Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...
- VS2015编译FFMPEG,修改FFmpeg缓冲区大小解决实时流解码丢包问题,FFmpeg错误rtsp流地址卡死的问题,设置超时
之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程 ...
- 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编译OpenSSL
概述 OpenSSL 是一个开源的第三方库,它实现了 SSL(Secure SocketLayer)和 TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的 ...
- 使用VS2015 编译 64位的boost库
别人写的编译参考: 目标:使用VS2015 编译 64位的boost库. 一直以来都是在Win32环境下Build和使用boost,但现在基本上每天都在64位Win7下工作,所以很有必要把这几天的经验 ...
随机推荐
- Hybris订单价格的折扣维护
backoffice里创建一个新订单,维护一个行项目,添加一个产品: 在行项目的SubTotal界面,维护Base Price,在Discount values字段里,输入折扣信息:discount: ...
- Nginx 常用命令并实现最基本的反向代理
nginx 命令 测试配置文件格式是否正确:$ nginx -t 启动:nginx 重启:nginx -s reload 获取nginx进程号: ps -ef|grep nginx 停止进程(mast ...
- mysql DDL数据定义语言
DDL数据定义语言 本节涉及MySQL关键字:create.alter(rename,add,chang,modify,drop).drop.delete.truncate等. -- 创建表:-- 数 ...
- php和mysql交互 面向对象
不返回结果集 <?php //使用对象属性和方法来插入数据 header('Content-type:text/html;carset=utf8'); $con=new mysqli('loca ...
- 身份证验证PHP类
PHP根据身份证号,自动获取对应的星座函数,然后自动返回对应的星座,自动返回性别,判断是否成年 <?php class IdcardAction extends Action{ // PHP根据 ...
- [CAN].CAN总线详解
转自:https://blog.csdn.net/cheatscat/article/details/82886889 CAN(Controller Area Network)总线协议是由 BOSCH ...
- linux /bin/bash^M: bad interpreter的解决办法
linux下执行shell脚本时报错:-bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory. 原因是window ...
- 从客户端(content="xxxxx")中检测到有潜在危险的 Request.Form 值——较合理解决方案
1,修改配置文件: <httpRuntime requestValidationMode = "2.0" /> 以上修改是必须的,因为高版本的.netframework ...
- Eclipse搭建maven web项目
最近在做做一个小实验,搭建ssm框架,要求使用maven来统一管理jar包,接下来就看如何建立maven项目,首先必须有要有相应的开发环境:JDK和maven,以及配置tomcat. 开发环境搭建可以 ...
- 深度学习Keras框架笔记之Activation类使用
使用 keras.layers.core.Activation(activation) Apply an activation function tothe input.(貌似是把激活函数应用到输入数 ...