target_link_libraries(${PROJECTNAME} PRIVATE
-Wl,--no-as-needed
fdk-aac
x264
x265
-Wl,--as-needed
Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL Qt5::Multimedia
spdlog
yuv
avformat avcodec avutil swscale swresample # 正常链接的库
)
linux下cmake指定动态库路径后,直接链接的能在指定路径下查找,依赖库的依赖库则还是会在系统中查找,此时可以-Wl,--as-needed
-
--as-needed
:只有真正被用到的动态库才会被链接到最终的可执行文件或共享库中。 -
--no-as-needed
:无论动态库是否被直接使用,都链接进来。