diff --git a/CMakeLists.txt b/CMakeLists.txt index 1db8b19893..69758c6991 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -452,8 +452,7 @@ else() # Standalone build install(TARGETS qasm_simulator DESTINATION bin) - # build libaer.so (currently, Linux on x86 is supportted) - if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(AER_RUNTIME_SOURCE "${PROJECT_SOURCE_DIR}/contrib/runtime/aer_runtime.cpp") if(CUDA_FOUND AND AER_THRUST_BACKEND STREQUAL "CUDA") build_cuda(aer ${AER_RUNTIME_SOURCE} FALSE) diff --git a/contrib/runtime/aer_runtime.cpp b/contrib/runtime/aer_runtime.cpp index 037b60da7c..2a4d65cc2f 100644 --- a/contrib/runtime/aer_runtime.cpp +++ b/contrib/runtime/aer_runtime.cpp @@ -13,6 +13,7 @@ */ #include "controllers/state_controller.hpp" #include +#include // initialize and return state extern "C" { @@ -51,8 +52,7 @@ uint_t aer_allocate_qubits(void *handler, uint_t num_qubits) { // measure qubits uint_t aer_apply_measure(void *handler, uint_t *qubits_, size_t num_qubits) { AER::AerState *state = reinterpret_cast(handler); - std::vector qubits; - qubits.insert(qubits.end(), &(qubits_[0]), &(qubits[num_qubits - 1])); + std::vector qubits(qubits_, qubits_ + num_qubits); return state->apply_measure(qubits); };