【求助】obs-studio项目编译时,不识别iso_volatile_load32

蓝之羽520 2021-04-02 10:53:09


obs-studio项目下载下来后,用CMake生成VS2017工程项目,运行编译时,报错,都是iso_volatile_loadXX相关

网上也没有找到相关资料,求各位大佬帮忙看看该怎么处理
...全文
1296 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
潍坊招C# .net 2021-08-03
  • 打赏
  • 举报
回复

可以给一个成功的VS2017的库的下载地址吗?搞了一天了,怎么也解决不了

不回头的倔强 2021-09-02
  • 举报
回复
@潍坊招C# .net 同求
monotonously 2021-07-17
  • 打赏
  • 举报
回复

您好,请问是把2019版本的删了重新下载2017/2015版本的再进行重新编译吗?还是怎么解决呢。。。已经困扰我两天了,我重新下载了2019企业版本还是不行。。。

蓝之羽520 2021-07-17
  • 举报
回复
@monotonously 你用的最新版OBS吗?别人是用vs2019编译成功的,我用vs2017,我换了个版本的dependencies2017才成功的
monotonously 2021-07-17
  • 举报
回复
@蓝之羽520 我是在生成openpose的ddl时候出现这个错误...不知道为什么,官方的2019也可以成功,我这就报错了》。。。很无语
Vhisen 2021-07-12
  • 打赏
  • 举报
回复 1

不要直接下最新的版本,下6月之前的release版本编译即可,编译流程和官方提供的一致,因为现在的版本被一个家伙改了但是没有测试过,代码有问题。

蓝之羽520 2021-07-15
  • 举报
回复
@Vhisen 谢谢,已经解决了,换了个vs2017库就可以了
蓝之羽520 2021-04-06
  • 打赏
  • 举报
回复
群里有哪位大佬遇到过?我今天弄了一天,包括重装windows SDK,根据 https://www.jianshu.com/p/e97493a60b85 这个博文生产的工程,编译还是遇到这个问题,无语了
真相重于对错 2021-04-02
  • 打赏
  • 举报
回复
没有链接相应的库吧
蓝之羽520 2021-04-02
  • 打赏
  • 举报
回复
引用 14 楼 赵4老师 的回复:
在#include <threading-windows.h>之前没有#include <intrin.h>

threading-windows.h里面就有#include <intrin.h>
赵4老师 2021-04-02
  • 打赏
  • 举报
回复
在#include <threading-windows.h>之前没有#include <intrin.h>
蓝之羽520 2021-04-02
  • 打赏
  • 举报
回复
引用 12 楼 赵4老师 的回复:
[quote=引用 10 楼 赵4老师 的回复:]** __MACHINEARM_ARM64 : ARM and ARM64 only
你的CPU不是或没设置为ARM and ARM64

生成、配置管理器、活动解决方案平台、新建解决方案平台、键入或选择新平台:ARM
[/quote]
谢谢你的回答,但问题还是存在

蓝之羽520 2021-04-02
  • 打赏
  • 举报
回复
应该不是ARM的,但生成的工程不应该自动识别吗?用CMAKE生成工程前,cmake里面没看到哪里设置ARM的
赵4老师 2021-04-02
  • 打赏
  • 举报
回复
引用 10 楼 赵4老师 的回复:
** __MACHINEARM_ARM64 : ARM and ARM64 only 你的CPU不是或没设置为ARM and ARM64
生成、配置管理器、活动解决方案平台、新建解决方案平台、键入或选择新平台:ARM
赵4老师 2021-04-02
  • 打赏
  • 举报
回复
** __MACHINEARM_ARM64 : ARM and ARM64 only 你的CPU不是或没设置为ARM and ARM64
赵4老师 2021-04-02
  • 打赏
  • 举报
回复
// C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\intrin.h
     380: __MACHINEARM_ARM64(__int16 __iso_volatile_load16(const volatile __int16 *))
     381: __MACHINEARM_ARM64(__int32 __iso_volatile_load32(const volatile __int32 *))
     382: __MACHINEARM_ARM64(__int64 __iso_volatile_load64(const volatile __int64 *))
     383: __MACHINEARM_ARM64(__int8 __iso_volatile_load8(const volatile __int8 *))
蓝之羽520 2021-04-02
  • 打赏
  • 举报
回复
引用 7 楼 赵4老师 的回复:
[quote=引用 6 楼 蓝之羽520 的回复:]试过了,还是没用,
e:\github_code\obs-studio-master\libobs\util\threading-windows.h(67): warning C4013: “__iso_volatile_load32”未定义;假设外部返回 int (编译源文件 E:\github_code\obs-studio-master\libobs\callback\signal.c)

#include <intrin.h>
[/quote]
在引用“__iso_volatile_load32”的页面,我看过了,有intrin.h这个头文件,intrin.h里面包含了intrin0.h头文件,“__iso_volatile_load32”在intrin0.h头文件里面声明定义的。

我觉得应该是obs-studio用cmake生成vs2017工程文件的时候,少了哪些设置造成的

论坛里面有对obs-studio二次开发的大佬没有?
赵4老师 2021-04-02
  • 打赏
  • 举报
回复
引用 6 楼 蓝之羽520 的回复:
试过了,还是没用,
e:\github_code\obs-studio-master\libobs\util\threading-windows.h(67): warning C4013: “__iso_volatile_load32”未定义;假设外部返回 int (编译源文件 E:\github_code\obs-studio-master\libobs\callback\signal.c)
#include <intrin.h>
蓝之羽520 2021-04-02
  • 打赏
  • 举报
回复
试过了,还是没用,
e:\github_code\obs-studio-master\libobs\util\threading-windows.h(67): warning C4013: “__iso_volatile_load32”未定义;假设外部返回 int (编译源文件 E:\github_code\obs-studio-master\libobs\callback\signal.c)
赵4老师 2021-04-02
  • 打赏
  • 举报
回复
赵4老师 2021-04-02
  • 打赏
  • 举报
回复
Intrinsic Functions On Alpha - Overview Intrinsic functions (also known as intrinsics) are function calls that the compiler resolves directly, by generating code, rather than by calling an external function. The Alpha version of the compiler supports a number of intrinsics. With all intrinsics, you must explicitly enable the intrinsic before calling it, by using it with the /Oi compiler option or the intrinsic pragma. The general syntax for using this pragma is: #pragma intrinsic( intrinsic-name ) For example, to enable the use of the _InterlockedIncrement intrinsic, include a pragma as shown, along with the declaration of the function: long _InterlockedIncrement(long *); #pragma intrinsic(_InterlockedIncrement) The intrinsic functions listed in the following sections correspond one-for-one with existing instructions or PAL calls in the Alpha architecture. These functions assume that the following type definitions apply: typedef signed _ _int 64 int 64; typedef unsigned _ _int 64 uint64; Please note that some intrinsics may only be executed in privileged context; for example, the _ _PAL_HALT intrinsic may only be successfully executed in kernel mode. For additional information, please consult the Alpha Architecture Reference Manual or Alpha Calling Standard (contained in Visual C++ Online Documentation). -------------------------------------------------------------------------------- Send feedback to MSDN.Look here for MSDN Online resources.
蓝之羽520 2021-04-02
  • 打赏
  • 举报
回复
引用 1 楼 真相重于对错 的回复:
没有链接相应的库吧

我在cmake的时候,确实有些库没有链接,
下面是CMAKE编译的内容,不识别iso_volatile_load32,是哪个库?

Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.18363.
The C compiler identification is MSVC 19.16.27045.0
The CXX compiler identification is MSVC 19.16.27045.0
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - skipped
Detecting C compile features
Detecting C compile features - done
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - skipped
Detecting CXX compile features
Detecting CXX compile features - done
Windows API version is 10.0.19041.0
OBS_VERSION: 0.0.1
Found FFmpeg: D:/dependencies2017/win32/bin/avcodec.lib (found version "58.54.100") found components: avcodec avdevice avutil avformat
Scripting: Luajit supported
CMake Warning (dev) at D:/Program Files/CMake/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (Python)
does not match the name of the calling package (PythonDeps). This can lead
to problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/Modules/FindPythonDeps.cmake:61 (find_package_handle_standard_args)
deps/obs-scripting/CMakeLists.txt:47 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

Scripting: Python 3 supported
Jansson >=2.5 not found, building bundled version
C compiler: MSVC
Found FFmpeg: D:/dependencies2017/win32/bin/avformat.lib (found version "58.29.100") found components: avformat avutil swscale swresample avcodec
Using libavcodec for image loading in libobs
Found FFmpeg: D:/dependencies2017/win32/bin/avcodec.lib (found version "58.54.100") found components: avcodec avutil
VirtualCam GUID not set! VirtualCam disabled.
Could NOT find LibVLC (missing: VLC_INCLUDE_DIR)
VLC video plugin disabled
enc-amf submodule not found! Please fetch submodules. enc-amf plugin disabled.
RSSDK not found, Realsense camera plugin disabled
obs-vst submodule not found! Please fetch/update submodules. obs-vst plugin disabled.
Libfdk not found - obs-libfdk plugin disabled
Found FFmpeg: D:/dependencies2017/win32/bin/avcodec.lib (found version "58.54.100") found components: avcodec avfilter avdevice avutil swscale avformat swresample
Found FFmpeg: D:/dependencies2017/win32/bin/avcodec.lib (found version "58.54.100") found components: avcodec avutil avformat
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
NVidia Audio FX support enabled; requires redist to be installed by end-user
Configuring done

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧