Встановлення C API
Передумови
Перш ніж почати, переконайся, що встановлено інструментарій Rust та компілятор clang.
Тепер клонуй репозиторій qiskit-fermions.
git clone git@github.com:Qiskit/qiskit-fermions.git
cd qiskit-fermions
Далі тобі також потрібно скомпілювати C API Qiskit. Це можна зробити в будь-якому місці, але щоб швидко почати, виконай такі кроки:
git clone git@github.com:Qiskit/qiskit.git build/qiskit
cd build/qiskit
## git-checkout the latest stable tag
make c
Лише у Windows потрібно скопіювати додаткові файли бібліотек:
- Windows
cp target/release/qiskit_cext.dll dist/c/lib/qiskit_cext.dll
cp target/release/qiskit_cext.dll.lib dist/c/lib/qiskit_cext.dll.lib
cp target/release/qiskit_cext.dll.lib dist/c/lib/qiskit.dll.lib
Тепер можеш виконати кроки з наступного розділу, щоб скомпілювати C API qiskit-fermions.
Компіляція з вихідного коду
Для початку налаштуй середовище оболонки, вказавши розташування скомпільованої бібліотеки C API Qiskit та каталогу include.
C API компонується з C-бібліотекою Qiskit, тому QISKIT_LIB і QISKIT_INCLUDE мають вказувати на неї. Якщо їх не задано, збірка намагається вивести їх із будь-якого встановленого Python-пакета qiskit, що містить свої C-артефакти (qiskit.capi.get_lib()/get_include()); задай їх явно, як нижче, щоб збирати проти окремо скомпільованого C API Qiskit, наприклад клону build/qiskit вище.
Цей код використовує шлях build/qiskit з коду на початку цієї сторінки. Скоригуй шляхи відповідно до свого налаштування.
- UNIX
- Windows
export QISKIT_LIB=$(find $(pwd)/build/qiskit/dist/c/lib -name "libqiskit.*")
export QISKIT_INCLUDE=$(pwd)/build/qiskit/dist/c/include
export QISKIT_LIB=$(find $(pwd)/build/qiskit/dist/c/lib -name "qiskit_cext.dll.lib")
export QISKIT_INCLUDE=$(pwd)/build/qiskit/dist/c/include
Тепер скомпілюй C API qiskit-fermions:
make cext
Якщо хочеш протестувати встановлення, тепер тобі також потрібно встановити CMake. Після цього можна перевірити компіляцію, запустивши модульні тести на C:
make testc
Нарешті, переконайся, що ти бачиш такі файли:
-
dist/c/lib/libqiskit_fermions.so(суфікс може відрізнятися залежно від твоєї операційної системи) -
dist/c/include/qiskit_fermions.h