用g ++编译构建的共享库是可行的,并且不能使用automake编译

时间:2013-04-23 08:40:58

标签: ffmpeg g++ shared-libraries automake

我正在CentOS 6.2上构建共享库。 将构建共享库,具有一些cpp文件,头文件,c共享库 和ffmpeg。共享库用于转换视频。当我像这样使用g ++编译时:

g++    DataType.h    h264function.h  h264function.cpp videoconvert.h videoconvert.cpp      stdafx.h stdafx.cpp YV12toRGB.h YV12toRGB.cpp -lMPCtrl -lavcodec -lavformat -lavutil -   lhcnetsdk -lPlayCtrl -lpthread -fPIC -shared -o libtest.so

它可以正常工作,视频可以转换为标准的h264编码。看来用于构建库的文件是

很好。但是当我使用autotools制作库时,它无法正常工作。这是我的configure.in和Makefile.am:

Makefile.am:

prefix=/usr
lib_LTLIBRARIES=libhikvisiontranso.la

libhikvisiontranso_la_SOURCES=stdafx.h stdafx.cpp videoconvert.h videoconvert.cpp 
h264function.h h264function.cpp YV12toRGB.h YV12toRGB.cpp DataType.h 

libhikvisiontranso_la_LDFLAGS=-avoid-version -shared 
libhikvisiontranso_la_LIBADD=-lpthread -lMPCtrl -lhcnetsdk -lPlayCtrl -lavformat -    lavcodec -lavutil
ACLOCAL_AMFLAGS= -I m4

configure.in:

#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.63])
AC_INIT([hikvisiontranso],[1.0], [songxiawuren@gmail.com])
AM_INIT_AUTOMAKE([libhikvisiontranso.so],[1.0])
AC_CONFIG_SRCDIR([DataType.h])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AT_INIT
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC

# Checks for libraries.

# Checks for header files.
AC_CHECK_HEADERS([inttypes.h limits.h stddef.h stdint.h stdlib.h string.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_INLINE
AC_TYPE_INT16_T
AC_TYPE_INT32_T
AC_TYPE_INT64_T
AC_TYPE_INT8_T
AC_TYPE_SIZE_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T

# Checks for library functions.
AC_FUNC_MALLOC
AC_PROG_LIBTOOL
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

错误的输出是:

SDL Init

init console=1

Output #0, avi, to '/home/ningge/Desktop/HaikangDvr.avi':

Stream #0.0: Invalid Codec type -1

Height = 576; Width = 704;totalfram=90000

Segmentation fault (core dumped)

权利是:

SDL Init

init console=1

Output #0, avi, to '/home/ningge/Desktop/HaikangDvr.avi':

Stream #0.0: Video: mpeg4, yuv420p, 704x576, q=2-31, 200 kb/s, 90k tbn, 25 tbc

Height = 576; Width = 704;totalfram=90000

CSDLInit goOut 

我希望有人能帮我找到automake的错误。

0 个答案:

没有答案