Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ile Bootstrap create
İlk olarak, kitaplığın kaynaklarının genel olarak erişilebilir bir arşivini bulun. Zip, gzip ve bzip'nin tümü desteklenir. Resmi olmayan aynalar yerine resmi kaynakları veya aynaları kesinlikle tercih edin.
Zlib'in web sitesine baktığımızda URL http://zlib.net/zlib-1.2.13.tar.gz
uygun görünüyor.
İkincisi, uygun bir paket adı belirleyin. Bu ASCII, küçük harf ve kitaplığın "insan adı" bilen biri tarafından tanınabilir olmalıdır. Kitaplık zaten başka bir paket yöneticisinde paketlenmişse, bu adı tercih edin.
Zlib zaten zlib olarak paketlendiğinden, bu örnek için zlib2 adını kullanacağız.
Son olarak, sunucunun arşiv adı çok açıklayıcı değilse (GitHub'dan sıkıştırılmış işleme veya dal indirme gibi), formun <packagename>-<version>.zip
güzel bir arşiv adını seçin.
zlib-1.2.13.zip
iyi bir ad olduğundan değişiklik gerekmez.
Tüm bu bilgiler komutuna create
geçirilebilir. Bu komut kaynakları indirir ve içindeki ports/<packagename>
paketleme işlemini önyükler.
PS D:\src\vcpkg> .\vcpkg create zlib2 http://zlib.net/zlib-1.2.13.tar.gz zlib-1.2.13.tar.gz
-- Downloading http://zlib.net/zlib-1.2.13.tar.gz -> zlib-1.2.13.tar.gz...
-- Generated portfile: D:\src\vcpkg\ports\zlib2\portfile.cmake
-- Generated manifest: D:\src\vcpkg\ports\zlib2\vcpkg.json
-- To launch an editor for these new files, run
-- .\vcpkg edit zlib2
Bildirim dosyasını oluşturma
Oluşturulan ports/<package>/portfile.cmake
öğesine ek olarak bir ports/<package>/vcpkg.json
dosyaya da ihtiyacımız vardır. Bu dosya, paketin meta verilerini açıklayan basit bir alan kümesidir.
Zlib2 için dosyayı ports/zlib2/vcpkg.json
aşağıdaki içeriklerle oluşturacağız:
{
"name": "zlib2",
"version": "1.2.13",
"description": "A Massively Spiffy Yet Delicately Unobtrusive Compression Library"
}
Oluşturulan bağlantı noktası dosyasını ayarlama
Oluşturulan portfile.cmake
, çoğu kitaplığı vahşi ortamda doğru bir şekilde paketlemek için bazı düzenlemelere ihtiyaç duyar, ancak derlemeyi deneyerek başlayabiliriz.
PS D:\src\vcpkg> .\vcpkg install zlib2
Computing installation plan...
The following packages will be built and installed:
zlib2[core]:x64-uwp
Starting package 1/1: zlib2:x64-uwp
Building package zlib2[core]:x64-uwp...
-- Using cached C:/src/vcpkg/downloads/zlib-1.2.13.tar.gz
-- Cleaning sources at C:/src/vcpkg/buildtrees/zlib2/src/1.2.13-deec42f53b.clean. Pass --editable to vcpkg to reuse sources.
-- Extracting source C:/src/vcpkg/downloads/zlib-1.2.13.tar.gz
-- Applying patch cmake_dont_build_more_than_needed.patch
-- Using source at C:/src/vcpkg/buildtrees/zlib2/src/1.2.13-deec42f53b.clean
-- Configuring x64-uwp
-- Building x64-uwp-dbg
-- Building x64-uwp-rel
-- Installing: C:/src/vcpkg/packages/zlib2_x64-uwp/share/zlib2/copyright
-- Performing post-build validation
Include files should not be duplicated into the /debug/include directory. If this cannot be disabled in the project cmake, use
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
/debug/share should not exist. Please reorganize any important files, then use
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
The software license must be available at ${CURRENT_PACKAGES_DIR}/share/zlib2/copyright
Found 3 error(s). Please correct the portfile:
D:\src\vcpkg\ports\zlib2\portfile.cmake
Bu noktada, bağlantı noktası dosyasının kalitesini sürekli olarak artırırken hata iletilerini ve günlük dosyalarını okumak önemlidir. Zlib, pakete kopyalamak için LİSANS'ın ayrı bir kopyasını sağlamak, yürütülebilir dosyalar ve üst bilgilerin derlenmesi ve yüklenmesini engellemek ve yüklendikten sonra statik kitaplıkları kaldırmak için gerekliydi.
Önerilen örnek bağlantı noktası dosyaları
Dizinde ports/
, CMake'i temel almamış birçok kitaplık da dahil olmak üzere örnek olarak kullanılabilecek birçok kitaplık vardır.
- Yalnızca üst bilgi kitaplıkları
- rapidjson
- range-v3
- MSBuild tabanlı
- chakracore
- CMake olmayan, özel derleme sistemi
- openssl
- ffmpeg