固定在GSTREAGER上记录

问题描述 投票:0回答:1
GST_ERROR

GST_DEBUG
到日志文件。我已经尝试在
GST_DEBUG_FILE
和代码中设置环境变量
CMakeLists.txt
GST_DEBUG
,但没有运气。
Q-1:我需要做什么来修复日志记录?

Q-2:我可以通过

GST_ERROR

stdout

等来登录吗?
执行时,终端或日志文件中没有输出。
GST_DEBUG("THIS IS A TEST".")

注意,出于某种原因,我在将两个“ - ”之前无法构建时无法构建。

从cmakelists.txt上不起作用,但是如果我从带有
CMakeLists.txt

的脚本运行我的应用程序,则会生成点文件。认为这可能是相关的。 C:

find_package(PkgConfig)
pkg_check_modules(GST REQUIRED gstreamer-1.0 gstreamer-plugins-base-1.0 gstreamer-app-1.0)

set(GST_DEBUG "*:6")
set(GST_DEBUG_FILE /var/log/myapp.log)
set(GST_DEBUG_DUMP_DOT_DIR ${ROOT_DIR}/tmp)

add_executable(myapp, ${SOURCE_FILES})
target_compile_options(myapp, ${CMAKE_C_FLAGS} ${BUILD_FLAGS} ${GST_CFLAGS} ${GST_DEBUG_OPTIONS} -g -ggdb -Wall -pedantic -enable-gst-debug=yes)

CMAKE是建筑系统,对于运行过程的环境变量,它无关。
您能做的就是用这样的cmake设置默认值:

enable-gst-debug=yes
设置环境变量的正确方法是使用
--enable-gst-debug=yes

or

-enable-gst-debug=yes
用户必须能够覆盖您的默认值,不要掌握该功能
来自用户

GST_DEBUG_DUMP_DOT_DIR

也应该起作用,但即使文档也永远不会提及 我怀疑这些环境变量必须赌注

before
GST_DEBUG_DUMP_DOT_DIR='../tmp' 'myapp'
c debugging logging gstreamer
1个回答
1
投票
GST_DEBUG_CATEGORY_STATIC(myapp) #define GST_CAT_DEFAULT myapp // Called previously when main parses args g_option_context_add_group(pCntx, gst_init_get_option_group()); void init_myapp() { gst_init(NULL, NULL);// I know this is rather redundant because gst_init_get_option_group() has been called already. GST_DEBUG_CATEGORY_INIT(myapp, "myapp", 0, "Custom debugging cat."); setenv("GST_DEBUG", "*:6", 1); setenv("GST_DEBUG_FILE", "/var/log/myapp.log", 1); GST_DEBUG("THIS IS A TEST."); }

# for escaped definitions cmake_policy(SET CMP0005 NEW) set(DEFAULT_GST_DEBUG "*:6" CACHE STRING "Default value for GST_DEBUG") set(DEFAULT_GST_DEBUG_FILE /var/log/myapp.log CACHE STRING "Default value for GST_DEBUG_FILE") set(DEFAULT_GST_DEBUG_DUMP_DOT_DIR ${ROOT_DIR}/tmp CACHE STRING "Default value for GST_DEBUG_DUMP_DOT_DIR") add_definitions("-DDEFAULT_GST_DEBUG=\"${DEFAULT_GST_DEBUG}\"") add_definitions("-D=DEFAULT_GST_DEBUG_FILE\"${DEFAULT_GST_DEBUG_FILE}\"") add_definitions("-DDEFAULT_GST_DEBUG_DUMP_DOT_DIR=\"${DEFAULT_GST_DEBUG_DUMP_DOT_DIR}\"") ...
$ export VAR=VAL

,但是 文档说

为Innnown命令行选项导致此功能 流产程序执行
cite

api文档
显示如何处理它。

因此,您可以这样做:

$ VAR=VAL ./a.out

现在,您可以使用
setenvgst_init(NULL, NULL);argc
更改cmake中的默认值。

希望可以帮助您。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.