I tried cross-compiling Cesium for Unreal on Windows, but I ran into this issue when packaging for Windows after compiling the dependency libraries on Linux.
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::Tileset::Tileset(Cesium3DTilesSelection::TilesetExternals const&, unsigned int, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, Cesium3DTilesSelection::TilesetOptions const&)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::Tileset::Tileset(Cesium3DTilesSelection::TilesetExternals const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, Cesium3DTilesSelection::TilesetOptions const&)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: CesiumAsync::AsyncSystem::AsyncSystem(std::__1::shared_ptrCesiumAsync::ITaskProcessor const&)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: CesiumAsync::SqliteCache::SqliteCache(std::__1::shared_ptrspdlog::logger const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, unsigned long)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: CesiumAsync::CachingAssetAccessor::CachingAssetAccessor(std::__1::shared_ptrspdlog::logger const&, std::__1::shared_ptrCesiumAsync::IAssetAccessor const&, std::__1::shared_ptrCesiumAsync::ICacheDatabase const&, int)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::RasterOverlayCollection::add(std::__1::unique_ptr<Cesium3DTilesSelection::RasterOverlay, std::__1::default_deleteCesium3DTilesSelection::RasterOverlay >&&)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::TileIdUtilities::createTileIdString(std::__1::variant<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, CesiumGeometry::QuadtreeTileID, CesiumGeometry::OctreeTileID, CesiumGeometry::UpsampledQuadtreeNode> const&)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::Tileset::updateViewOffline(std::__1::vector<Cesium3DTilesSelection::ViewState, std::__1::allocatorCesium3DTilesSelection::ViewState > const&)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::Tileset::updateView(std::__1::vector<Cesium3DTilesSelection::ViewState, std::__1::allocatorCesium3DTilesSelection::ViewState > const&)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsStyle::AERIAL
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsStyle::CANVAS_LIGHT
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsStyle::ROAD_ON_DEMAND
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsStyle::CANVAS_DARK
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsStyle::COLLINS_BART
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsStyle::AERIAL_WITH_LABELS_ON_DEMAND
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsStyle::CANVAS_GRAY
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsStyle::ORDNANCE_SURVEY
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::BingMapsRasterOverlay::BingMapsRasterOverlay(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::basic_string<char, std::__1::char
UATHelper: Package (Linux): ld.lld: error: undefined symbol: CesiumGeospatial::CartographicPolygon::CartographicPolygon(std::__1::vector<glm::vec<2ul, double, (glm::qualifier)0>, std::__1::allocator<glm::vec<2ul, double, (glm::qualifier)0> > > const&)
UATHelper: Package (Linux): ld.lld: error: undefined symbol: Cesium3DTilesSelection::CreditSystem::getHtml(Cesium3DTilesSelection::Credit) const
UATHelper: Package (Linux): ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
UATHelper: Package (Linux): clang++: error: linker command failed with exit code 1 (use -v to see invocation)