mboost-dp1
C++ libraries på Windows
- Forside
- ⟨
- Forum
- ⟨
- Tagwall
Jeg har altid hadet at skulle bruge et open source C++ library på Windows.
Forsøger man at builde source så mangler man et tool eller man har en forkert version eller en forkert opsætning og man får et hav af build errors.
Henter man en binary distribution så virker det ikke fordi den er oversat med en anden compiler eller anden version end den man bruger.
Men for en måned siden faldt jeg over VCPKG.
De har langfra alt. Men det de har virker bare. En enkelt komamndo og X minutter så har man en build med .h, .lib og .dll. Ingen fejl. OK - to komamndoer hvis man vil have både 32 og 64 bit udgaven.
Jeg er lidt imponeret.
Forsøger man at builde source så mangler man et tool eller man har en forkert version eller en forkert opsætning og man får et hav af build errors.
Henter man en binary distribution så virker det ikke fordi den er oversat med en anden compiler eller anden version end den man bruger.
Men for en måned siden faldt jeg over VCPKG.
De har langfra alt. Men det de har virker bare. En enkelt komamndo og X minutter så har man en build med .h, .lib og .dll. Ingen fejl. OK - to komamndoer hvis man vil have både 32 og 64 bit udgaven.
Jeg er lidt imponeret.
Jeg har bare generelt altid hadet at skulle bygge open source der afhænger af en masse 3rd party tools.
For et års tid siden prøvede engang at bygge Google's Protobuf på arbejde (på en Mac). Det har hundredevis af dependencies som de ikke inkludere, intet script til at hente dem, og nogle af dem kræver at man henter filer via. en FTP server (W T F!). Og i mange tilfælde skal man selve støve deres dependencies op ved at søge efter filnavnene på internettet og håbe man finder det rigtige.
C/C++ open source projekter er også helt klart de værste syndere på dette her punkt.
.NET har NuGet, Swift/ObjC har CocoaPods/SwiftPM, JavaScript/TS har npm. -- dedikerede services til open source kode / binaries. Hvorimod C/C++ afhænger often af et obskurt Linux specifikt package-manager system eller lign (eller bare forventer at folk har alting lokalt på deres maskine til at begynde med, ligesom Google med de fleste af deres open source projekter).
For et års tid siden prøvede engang at bygge Google's Protobuf på arbejde (på en Mac). Det har hundredevis af dependencies som de ikke inkludere, intet script til at hente dem, og nogle af dem kræver at man henter filer via. en FTP server (W T F!). Og i mange tilfælde skal man selve støve deres dependencies op ved at søge efter filnavnene på internettet og håbe man finder det rigtige.
C/C++ open source projekter er også helt klart de værste syndere på dette her punkt.
.NET har NuGet, Swift/ObjC har CocoaPods/SwiftPM, JavaScript/TS har npm. -- dedikerede services til open source kode / binaries. Hvorimod C/C++ afhænger often af et obskurt Linux specifikt package-manager system eller lign (eller bare forventer at folk har alting lokalt på deres maskine til at begynde med, ligesom Google med de fleste af deres open source projekter).
Claus Jørgensen (2) skrev:
Jeg har bare generelt altid hadet at skulle bygge open source der afhænger af en masse 3rd party tools.
For et års tid siden prøvede engang at bygge Google's Protobuf på arbejde (på en Mac). Det har hundredevis af dependencies som de ikke inkludere, intet script til at hente dem, og nogle af dem kræver at man henter filer via. en FTP server (W T F!). Og i mange tilfælde skal man selve støve deres dependencies op ved at søge efter filnavnene på internettet og håbe man finder det rigtige.
[quote]
Ja.
Men det er sådan noget VCPKG håndterer.
Google ProtoBuf:
åben CMD vindue
vcpkg install protobuf:x64-windows
vent 5 minutter
done
[quote=Claus Jørgensen (2)]
C/C++ open source projekter er også helt klart de værste syndere på dette her punkt.
.NET har NuGet, Swift/ObjC har CocoaPods/SwiftPM, JavaScript/TS har npm. -- dedikerede services til open source kode / binaries. Hvorimod C/C++ afhænger often af et obskurt Linux specifikt package-manager system eller lign (eller bare forventer at folk har alting lokalt på deres maskine til at begynde med, ligesom Google med de fleste af deres open source projekter).
(eller Java Maven)
Ja - de andre har haft det længe.
Men nu har C++ det også med VCPKG.
På macOS er der Homebrew. https://brew.sh
Skal man installere protobuf så er det bare
brew install protobuf
og den virker ligesom en package manager på linux ... bare bedre.
Skal man installere protobuf så er det bare
brew install protobuf
og den virker ligesom en package manager på linux ... bare bedre.
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.