Linking a dll to an other dll with DllMain

Hello,
I have a main, and I can link a library (Called DynLib) to that main, dynamically (SHARED). Now I have another library (Called SubDynLib), that i want to link to DynLib. If I build SubDynLib alone, and then put the SubDynLib.lib file in the target_link_directories, it works. If I want build SubDynLib togheter with DynLib I receive the error

Severity Code Description Project File Line Suppression State Details
Error LNK2005 DllMain already defined in DynLib.cpp.obj

What am I doing wrong?

DYNLIB

cmake_minimum_required (VERSION 3.16)

project (“DYNLIB” VERSION 1.0.0)

add_library(DYNLIB SHARED)

target_sources(DYNLIB
PUBLIC
DynLib.h
DynLib.cpp
DynLib.def
)

target_include_directories(DYNLIB
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC
…/SubDynLib
)

target_link_libraries(DYNLIB
PRIVATE
SUBDYNLIB
)

install(TARGETS DYNLIB DESTINATION ${CMAKE_BINARY_DIR}/CMakeProjectDynLinkTestWin)

SUBDYNLIB

cmake_minimum_required (VERSION 3.16)

project (“SUBDYNLIB” VERSION 1.0.0)

add_library(SUBDYNLIB SHARED)

target_sources(SUBDYNLIB
PUBLIC
SubDynLib.h
SubDynLib.cpp
PRIVATE
SubDynLib.def
)

target_include_directories(SUBDYNLIB
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}
)

install(TARGETS SUBDYNLIB DESTINATION ${CMAKE_BINARY_DIR}/CMakeProjectDynLinkTestWin)

MAIN EXEC

cmake_minimum_required (VERSION 3.16)

add_executable (CMakeProjectDynLinkTestWin “CMakeProjectDynLinkTestWin.cpp” “CMakeProjectDynLinkTestWin.h”)

target_compile_features(CMakeProjectDynLinkTestWin PUBLIC cxx_std_11)

set(CMAKE_SYSTEM_VERSION “10.0.19041.0”)
set(CMAKE_GENERATOR_TOOLSET “v141”)
set(CMAKE_VS_PLATFORM_TOOLSET “v141”)

target_compile_options(CMakeProjectDynLinkTestWin PUBLIC /Zp1)
target_compile_definitions(CMakeProjectDynLinkTestWin PUBLIC WINDOWS_IGNORE_PACKING_MISMATCH)

target_link_libraries(CMakeProjectDynLinkTestWin
PRIVATE
DYNLIB
)

ROOT CMAKE

CMakeList.txt : Top-level CMake project file, do global configuration

and include sub-projects here.

cmake_minimum_required (VERSION 3.16)

if (POLICY CMP0022)
cmake_policy(SET CMP0022 NEW)
endif()

project (“CMakeProjectDynLinkTestWin”)
add_subdirectory (“CMakeProjectDynLinkTestWin”)

Include sub-projects.

add_subdirectory (“SubDynLib”)
add_subdirectory (“DynLib”)

Any help is appreciated

Thanks

BC