- 🌏 The official ISO C++ Get Started! page
- 🎥 Herb Sutter: (Not Your Father’s) C++
- 🎥 Beginning with C++ by Jens Weller
For a brief user-level introduction to CMake, watch C++ Weekly, Episode 78, Intro to CMake by Jason Turner. LLVM’s CMake Primer provides a good high-level introduction to the CMake syntax. Go read it now.
After that, watch Mathieu Ropert’s CppCon 2017 talk Using Modern CMake Patterns to Enforce a Good Modular Design (slides). It provides a thorough explanation of what modern CMake is and why it is so much better than “old school” CMake. The modular design ideas in this talk are based on the book [Large-Scale C++ Software Design](https://www.amazon.de/Large-Scale-Soft
$ sudo apt-get update && sudo apt-get install -y \ | |
build-essential \ | |
git \ | |
libopenblas-dev python-dev python-pip \ | |
python-nose python-numpy python-scipy | |
# or `sudo pip install ...` | |
$ pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git |
:: Build client | |
RunUAT BuildCookRun -project="full_path.uproject"^ | |
-noP4 -platform=Win64^ | |
-clientconfig=Development -serverconfig=Development^ | |
-cook -allmaps -build -stage^ | |
-pak -archive -archivedirectory="Output Directory" | |
:: Cook client | |
RunUAT BuildCookRun -project="full_project_path_and_project_name".uproject^ | |
-noP4 -platform=Win64^ |
import ( | |
"crypto/md5" | |
"encoding/hex" | |
) | |
func GetMD5Hash(text string) string { | |
hasher := md5.New() | |
hasher.Write([]byte(text)) | |
return hex.EncodeToString(hasher.Sum(nil)) | |
} |