Instalace C API
Předpoklady
Než začneš, musíš mít nainstalovaný toolchain Rustu a také kompilátor clang.
Nyní naklonuj repozitář qiskit-fermions.
git clone git@github.com:Qiskit/qiskit-fermions.git
cd qiskit-fermions
Dále musíš také zkompilovat C API Qiskitu. Můžeš to udělat kdekoli, ale pro rychlý start postupuj podle těchto kroků:
git clone git@github.com:Qiskit/qiskit.git build/qiskit
cd build/qiskit
## git-checkout the latest stable tag
make c
Pouze na Windows musíš zkopírovat další soubory knihoven:
- 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
Nyní můžeš podle kroků v další části zkompilovat C API qiskit-fermions.
Kompilace ze zdrojového kódu
Na začátku nastav prostředí shellu s umístěním své zkompilované knihovny C API Qiskitu a adresáře include.
C API se linkuje proti C knihovně Qiskitu, takže QISKIT_LIB a QISKIT_INCLUDE musí na ni ukazovat. Pokud nejsou nastaveny, build se pokusí odvodit je z libovolného nainstalovaného Python balíčku qiskit, který obsahuje své C artefakty (qiskit.capi.get_lib()/get_include()); nastav je explicitně, jako níže, abys sestavil proti samostatně zkompilovanému C API Qiskitu, například proti výše zmíněnému klonu build/qiskit.
Tento kód používá cestu build/qiskit z kódu na začátku této stránky. Cesty uprav podle svého nastavení.
- 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
Nyní zkompiluj C API qiskit-fermions:
make cext
Pokud chceš svou instalaci otestovat, musíš nyní nainstalovat také CMake. Kompilaci pak můžeš otestovat spuštěním unit testů v C:
make testc
Nakonec ověř, že vidíš tyto relevantní soubory:
-
dist/c/lib/libqiskit_fermions.so(přípona se může lišit podle operačního systému) -
dist/c/include/qiskit_fermions.h