Installation
veriCue has two pieces you install separately:
- The server library - a shared library (
libvericue-server.so/.dll/.dylib) and headers that you link into your Qt application. - A client library - Python, C++, or C# package that talks to the running server over TCP.
Prerequisites
- Qt 5.15 or Qt 6.x (both are supported by the same headers; pick the tarball that matches your build environment).
- OpenSSL development headers (for licence signature verification).
- CMake 3.16+ for embedding the server.
- C++17 compiler.
1. Get the server library
Download the matching pre-built archive from the veriCue distribution CDN. The exact download link is included in your trial or licence email; archives are hosted under https://dl.vericue.dev/<version>/:
| Platform | Qt 5.15 | Qt 6.7 |
|---|---|---|
| Linux x64 | vericue-<version>-qt5.15-linux-x64.tar.gz | vericue-<version>-qt6.7-linux-x64.tar.gz |
| Windows x64 | .zip archive | .zip archive |
| macOS arm64 (Apple Silicon) | - | .tar.gz |
macOS ships for Apple Silicon (arm64) on Qt 6.7. There is no macOS Intel (x64) build, and Qt 5.15 has no official arm64 macOS build.
Verify the SHA256 before extracting:
sha256sum -c vericue-<version>-qt5.15-linux-x64.tar.gz.sha256Install into /usr/local:
tar xzf vericue-<version>-qt5.15-linux-x64.tar.gz -C /usr/local --strip-components=1The tarball contains:
lib/libvericue-server.* # server library - embed in your app under test
lib/libvericue-client.* # client library - drive it from C++ tests
lib/cmake/vericue/ # CMake config for find_package()
include/vericue/ # public headers
bin/vericue-inject # (Linux) drive an unmodified Qt app - see belowOn Linux the package also includes bin/vericue-inject, which lets you evaluate veriCue against an existing Qt binary with zero integration - see Evaluating without embedding.
2. Wire it into your Qt application
Add to your CMakeLists.txt:
find_package(vericue REQUIRED)
target_link_libraries(my_app PRIVATE vericue::vericue-server)In your main.cpp:
#include <vericue/server.h>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
vericue::VeriCueServer server;
server.setLicenseFile("/path/to/licence.json");
server.start(4242); // TCP port
MainWindow w;
w.show();
return app.exec();
}Don't have a licence yet?
Without setLicenseFile() the server starts in trial mode (30 days of full functionality, max 1 concurrent automation session). After the trial, the server stays running but rejects commands until a paid licence is loaded. Request one at sales@vericue.dev.
Security
The veriCue server exposes a TCP control channel that can fully drive your application's UI. Treat it as a privileged interface:
Always set an auth token in shared or CI environments so only your tests can connect:
cppserver.setAuthToken("a-strong-shared-secret");Pass the same token from the client:
connect(host, port, token="...").Keep the port on a trusted network. If your tests run on the same host, reach the server over
localhost; never expose the veriCue port to the public internet.Ship it only in test/CI builds of your application - never enable the veriCue server in production releases.
3. Install a client
Python
pip install vericueC# / .NET
dotnet add package VeriCueC++
The C++ client is included in the same tarball as the server library, in lib/libvericue-client.so + include/vericue/client.h.
find_package(vericue REQUIRED)
target_link_libraries(my_tests PRIVATE vericue::vericue-client)Verify the setup
Start your Qt application, then in a separate terminal:
python -m vericue pingShould print {"pong": true} - you're connected. Continue with the Python quick start.
Troubleshooting
"License file not found" on server start
Use an absolute path, not relative. The Qt working directory may differ from where you launched the binary.
"Authentication required" on every command
You called setAuthToken() on the server. Pass the same token to the client connect(host, port, token="...").
"License expired" after first day
You're in trial mode and your 30 days are up. The trial period is fixed at 30 days from the first run; when it expires, request a trial extension or a license from sales@vericue.dev.
Example applications
The public vericue-examples repository contains seven ready-to-build Qt apps (widgets, QML, touch, model/view, OpenGL) instrumented with veriCue - clone it and build against your installed SDK to see every feature area in a working program:
git clone https://github.com/VeriCueOrg/vericue-examples.git
cmake -S vericue-examples -B vericue-examples/build \
-DCMAKE_PREFIX_PATH="/path/to/Qt/6.7/gcc_64;/path/to/vericue"
cmake --build vericue-examples/build --parallel
