Если обе библиотеки статически связаны с исполняемым файлом, а zlib также статически связан с исполняемым файлом, тогда вы просто создаете две библиотеки, не связывая их с zlib, и добавляете zlib к зависимостям компоновщика при сборке исполняемого файла.
Если обе библиотеки являются DLL, то вам нужно проверить, почему вы экспортируете из них символы zlib - обычно вы можете просто связать две DLL с исполняемым файлом с обеими DLL, используя перекрывающиеся зависимости, и не сталкиваться с проблемами из-заперекрывающиеся зависимости.