Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Soft Works <softworkz@hotmail.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH] avcodec/libx264: don't define X264_API_IMPORTS when compiling static
Date: Fri, 20 May 2022 09:36:48 +0000
Message-ID: <DM8P223MB03651F747C0F26DDBFA26BEEBAD39@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <5517ad31-a7ce-cd53-0eb3-7cc74b4cb056@gmail.com>



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of
> Derek Buitenhuis
> Sent: Friday, May 20, 2022 10:50 AM
> To: ffmpeg-devel@ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH] avcodec/libx264: don't define
> X264_API_IMPORTS when compiling static
> 
> On 5/19/2022 11:52 PM, softworkz wrote:
> > This commit adds a check for the definition of _LIB which indicates
> > static linking.
> 

> Googling also seems to indicate that this
> definition is no longer available on newer MSVC versions.

Probably we have read the same article on SO ;-)
But it's not true.

When creating a "Static Library" project in Visual Studio 2019, the 
_LIB macro is defined. When creating a dll project, then it is
not defined (instead there is _USRDLL and _WINDLL)

Though, building ffmpeg with the VS project system is not the 
officially supported way for compiling ffmpeg with MSVC, which is 
performing the build on MSYS2/MinGW from which it is calling the 
cl.exe and link.exe binaries directly.

In that case, no _LIB macro is defined which means that this 
commit doesn't affect the official MSVC build method.


> Doesn't this indicate that FFmpeg is being compiled statically, and not
> necessarily that x264 is? 

Correct. Or to be precise, it indicates that libavcodec is compiled 
statically. 

But the thing is:

  1. At this point we are in the world of the VS project system
     (Only)

  2. When - in this case - you would want to link the ffmpeg libs
     statically but x264 as dll, then you'll need to configure this
     specifically for that. Part of this would be to
     define "X264_API_IMPORTS" - but in the project properties,
     not in this code file.

In other words: this is a narrow-scoped fix that doesn't 
affect default ffmpeg build behavior with MSVC. 

The underlying issue most likely applies to the default MSVC
build method as well, but that's out of my scope because I 
don't use it that way and I can't test that.

Thanks,
softworkz
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2022-05-20  9:36 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 22:52 softworkz
2022-05-20  8:49 ` Derek Buitenhuis
2022-05-20  9:36   ` Soft Works [this message]
2022-05-20 10:18 ` Timo Rothenpieler
2022-05-20 10:39   ` Soft Works
2022-05-20 11:37     ` Timo Rothenpieler
2022-05-20 12:07       ` Soft Works
2022-05-20 12:49         ` Derek Buitenhuis
2022-05-20 12:51           ` Derek Buitenhuis
2022-05-20 12:54             ` Soft Works
2022-05-20 13:00               ` Derek Buitenhuis
2022-05-20 13:06                 ` Soft Works
2022-05-20 13:13                   ` Derek Buitenhuis
2022-05-20 13:24                     ` Soft Works
2022-05-20 13:14           ` Soft Works
2022-05-20 15:23 ` [FFmpeg-devel] [PATCH v2] avcodec/libx264: allow to disable definition of X264_API_IMPORTS macro softworkz
2022-05-20 16:22   ` Derek Buitenhuis
2022-05-20 16:34     ` Hendrik Leppkes
2022-05-20 16:37     ` Soft Works
2022-05-20 16:47       ` Derek Buitenhuis
2022-05-20 16:51         ` Martin Storsjö
2022-05-20 16:55           ` Derek Buitenhuis
2022-05-20 17:47             ` Soft Works

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM8P223MB03651F747C0F26DDBFA26BEEBAD39@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM \
    --to=softworkz@hotmail.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git