On 11/16/2017 5:22 AM, Martin Storsjö wrote: > The only purpose of dllexport (which is set while building the library > that exports the symbols) is to have the linker automatically > export such symbols into a DLL without using a def file - it doesn't > affect the generated code. > > For MSVC builds, this isn't essential since we override what symbols > to export via an autogenerated def file instead. > > Update a comment in configure to refer to the right concept. > > With lld, this avoids warnings about duplicate export directives, > when some symbols are requested to be exported both via dllexport > attributes and via the autogenerated def file. > > This also reduces the number of lines of code marginally. > --- > configure | 2 +- > libavcodec/internal.h | 6 +----- > 2 files changed, 2 insertions(+), 6 deletions(-) > > diff --git a/configure b/configure > index 3bad7fb..62dffd4 100755 > --- a/configure > +++ b/configure > @@ -3883,7 +3883,7 @@ case $target_os in > mingw32*|mingw64*) > target_os=mingw32 > if enabled shared; then > - # Cannot build both shared and static libs when using dllexport. > + # Cannot build both shared and static libs when using dllimport. > disable static > fi > check_ldflags -Wl,--nxcompat > diff --git a/libavcodec/internal.h b/libavcodec/internal.h > index da1b2fa..868e3df 100644 > --- a/libavcodec/internal.h > +++ b/libavcodec/internal.h > @@ -285,12 +285,8 @@ int ff_decode_frame_props(AVCodecContext *avctx, AVFrame > *frame); > */ > AVCPBProperties *ff_add_cpb_side_data(AVCodecContext *avctx); > > -#if defined(_WIN32) && CONFIG_SHARED > -#ifdef BUILDING_avcodec > -# define av_export_avcodec __declspec(dllexport) > -#else > +#if defined(_WIN32) && CONFIG_SHARED && !defined(BUILDING_avcodec)
Sorry if it's obvious, but when is BUILDING_avcodec not defined, for that matter? library.mak seems to add -DBUILDING_avcodec to the preprocessor flags of every libavcodec object. > # define av_export_avcodec __declspec(dllimport) > -#endif > #else > # define av_export_avcodec > #endif > _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel