Installation
Failed to run custom build command for TQUIC?
If you get a not found CMakeLists.txt
error, it is likely because the submodules of tquic were not downloaded properly.
error: failed to run custom build command for `tquic`
...
CMake Error: The source directory "third_party/boringssl" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
thread 'main' panicked at '
command did not execute successfully, got: exit status: 1
build script failed, must exit now', index.crates.io/cmake-0.1.50/src/lib.rs:1098:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
The source code of tquic should be cloned using the --recursive
option:
git clone https://github.com/tencent/tquic --recursive
If the source code has already been cloned, but you forgot to use the option --recursive
, you can manually download the submodules like this:
git submodule init && git submodule update
Failed to build the sources released on github?
The released code (https://github.com/Tencent/tquic/releases) does not include the tquic dependent submodule due to GitHub restrictions.
The recommended command to obtain the specified version of tquic source codes is as follows.
# Please replace the 'vx.y.z' with the version you need
git clone -b vx.y.z --recursive https://github.com/Tencent/tquic.git
Not found example tools of TQUIC?
If you cannot locate the example tools in the directory ./target/release
, it is likely because you forgot to include the build option --all
or --release
.
Not found C library of TQUIC?
If you cannot locate the static or dynamic c library of tquic in the directory ./target/release
, it is likely because you forgot to include the build option -F ffi
or --release
.
How to specify the MacOS deployment target for TQUIC library?
You can use the environment varialbe MACOSX_DEPLOYMENT_TARGET
to signal targeting older versions of macOS.
# Replace `10.12` with your desired deployment target
export MACOSX_DEPLOYMENT_TARGET=10.12
cargo build --release -F ffi
How to How to cross-compile TQUIC for 32-bit target platform?
Assuming you are using the 64-bit Ubuntu Linux:
sudo apt-get install gcc-multilib g++-multilib
rustup target add i686-unknown-linux-gnu
git clone https://github.com/tencent/tquic --recursive
cd tquic
cargo build --target i686-unknown-linux-gnu --release --all -F ffi
How to optimize Library File Size for TQUIC on Mobile Platforms
Please refer to Library Size Optimization