<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html style="direction: ltr;">
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
<style type="text/css">body p { margin-bottom: 0cm; margin-top: 0pt; } </style>
</head>
<body style="direction: ltr;"
bidimailui-detected-decoding-type="latin-charset" bgcolor="#ffffff"
text="#000000">
On 03/04/2014 06:35 AM, YIRAN LI wrote:
<blockquote
cite="mid:CAN16yyOGeo90-OHy6g51T9h_91Q8aHTfMfh-kcwyH7ni=zYwwQ@mail.gmail.com"
type="cite">
<div dir="ltr">Thanks Camera Man,
<div><br>
</div>
<div>Do you know is there any options in configuration to let
the ffmpeg make system strip for us?</div>
<br>
</div>
</blockquote>
I see you figured that out. <br>
<br>
But let me repeat: the smallest executable set (.dlls + .exe) is to
use static linking - configure --enable-static --disable-shared to
make sure that you don't link in any shared library by mistake. If
you do that, everything you need will be inside your .exe and you
will not need any of the ffmpeg av*.dll files. When I select just
the parts I need (encoders, decoders, parser, etc), I can get down
to 4MB static executable (that does not need any .dll and includes
my own code as well as everything from ffmpeg that I need), and upx
actually cuts that down to ~1MB.<br>
<br>
However, the license (LGPL) requires that you let user upgrade the
library without your help. That is usually easy to achieve when you
ship .dlls, but not as easy when you do static linking. If you use a
GPL component (e.g. the x264 encoder), you will need to make your
project GPL as well, which means releasing complete buildable
sources of every executable you deliver, or at the very least making
an offer to provide those.<br>
<br>
(Thanks to Carl Eugen Hoyos for correcting my earlier wrong
statement about the LGPL - I had the GPL and LGPL confused).<br>
</body>
</html>