fix(build): FFmpeg links into the Linux prx and without Windows libraries there
The MinGW FFmpeg package needs bcrypt, ole32 and user32; linking them unconditionally broke libSceAjm.native.prx on Linux. The Linux package's x86 assembly references its constants PC32, which ld refuses in a shared object unless the archives' symbols stay local: --exclude-libs,ALL keeps them out of the prx's dynamic symbols. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
03465e769c
commit
d252a3c72c
|
|
@ -36,7 +36,11 @@ add_subdirectory(3rdparty/SDL2)
|
|||
set(CMAKE_EXE_LINKER_FLAGS "${ANYPS5_EXE_LINKER_FLAGS}")
|
||||
set(ARCHITECTURE x86_64)
|
||||
add_subdirectory(3rdparty/ffmpeg-core)
|
||||
target_link_libraries(ffmpeg INTERFACE bcrypt ole32 user32)
|
||||
if(MINGW)
|
||||
target_link_libraries(ffmpeg INTERFACE bcrypt ole32 user32)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
target_link_options(ffmpeg INTERFACE LINKER:--exclude-libs,ALL)
|
||||
endif()
|
||||
|
||||
set(FT_DISABLE_ZLIB ON CACHE BOOL "" FORCE)
|
||||
set(FT_DISABLE_BZIP2 ON CACHE BOOL "" FORCE)
|
||||
|
|
|
|||
Loading…
Reference in New Issue