# OpenVisaCpp **Repository Path**: maxxslash/OpenVisaCpp ## Basic Information - **Project Name**: OpenVisaCpp - **Description**: No description available - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-29 - **Last Updated**: 2025-08-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Build OpenVisaCpp.dll shared lib ``` conan install .. -s compiler.version=17 -o shared=True conan install openvisacpp/0.0.1-2@ -s compiler.version=17 -o shared=True --build=openvisacpp conan upload -r gitlab --all openvisacpp/0.0.1-2@ ``` # [[maybe_unused]] Build OpenVisaCpp.lib static lib and OpenVisaCppCli **need delete build folder** **OpenVisaCpp.lib should be built in Release mode** ``` conan install .. -s compiler.version=17 -o shared=False conan install .. -s compiler.version=17 -o shared=False -o EHa=True conan install .. -s compiler.version=17 ``` # Local Development ``` conan install .. -s compiler.version=17 conan install .. -s compiler.version=17 -o shared=True ``` # Files to update NativeObject.h (header and inline member functions) NativeObject.cpp (member functions) CFunctions.h (C function definitions) CFunctions.cpp (C function implementations) VisaObject.h (C++/CLI header) VisaObject.cpp (C++/CLI implementation) # Use Release configurations for Debug and RelWithDebInfo build ``` set(CMAKE_MAP_IMPORTED_CONFIG_DEBUG RELEASE) set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE) ``` [[maybeunused]] ``` if (False) target_link_libraries( ${PROJECT_NAME} debug ${CMAKE_BINARY_DIR}/lib/OpenVisa.lib ) target_link_libraries( ${PROJECT_NAME} relwithdebinfo ${CMAKE_BINARY_DIR}/lib/OpenVisa.lib ) endif() ``` ``` cmake_config_name = "openvisa" cmake_namespace = "openvisa" cmake_target_name = "openvisa" self.cpp_info.set_property("cmake_file_name", cmake_config_name) self.cpp_info.set_property("cmake_target_name", f"{cmake_namespace}::{cmake_target_name}") self.cpp_info.set_property("pkg_config_name", "openvisa") # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed self.cpp_info.filenames["cmake_find_package"] = cmake_config_name self.cpp_info.filenames["cmake_find_package_multi"] = cmake_config_name self.cpp_info.names["cmake_find_package"] = cmake_namespace self.cpp_info.names["cmake_find_package_multi"] = cmake_namespace ``` ``` cmake -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE="C:/gitee/open-visa-cpp/CppCode/build/conan_toolchain.cmake" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" "C:\gitee\open-visa-cpp\CppCode\." cmake --build "C:\gitee\open-visa-cpp\CppCode\build" --config Release ```