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
也应该起作用,但即使文档也永远不会提及 我怀疑这些环境变量必须赌注
beforeGST_DEBUG_DUMP_DOT_DIR='../tmp' 'myapp'
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
现在,您可以使用
setenv
或gst_init(NULL, NULL);
argc
更改cmake中的默认值。希望可以帮助您。