编译运行
运行样例前,需设置mxVison环境变量。
source {mxVison安装目录}/mxVision/set_env.sh
编译
- 文件准备,用户准备好自己的源码文件“main.cpp”,以及“CMakeLists.txt”文件,“CMakeLists.txt”编写可参考如下内容:
# CMake lowest version requirement cmake_minimum_required(VERSION 3.5.2) # project information project(MindX_SDK_Sample) set(MX_SDK_HOME $ENV{MX_SDK_HOME}) if (NOT DEFINED ENV{MX_SDK_HOME}) string(REGEX REPLACE "(.*)/(.*)/(.*)/(.*)" "\\1" MX_SDK_HOME ${CMAKE_CURRENT_SOURCE_DIR}) message(STATUS "set default MX_SDK_HOME: ${MX_SDK_HOME}") else () message(STATUS "env MX_SDK_HOME: ${MX_SDK_HOME}") endif() # Compile options add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) add_definitions(-Dgoogle=mindxsdk_private) add_compile_options(-std=c++11 -fPIC -fstack-protector-all -Wall) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) set(CMAKE_CXX_FLAGS_DEBUG "-g") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack -s -pie") set(CMAKE_SKIP_RPATH TRUE) # add mxbase header path include_directories( ${MX_SDK_HOME}/include/ ${MX_SDK_HOME}/opensource/include/ ) # add mxbase lib path link_directories( ${MX_SDK_HOME}/lib/ ${MX_SDK_HOME}/lib/modelpostprocessors/ ${MX_SDK_HOME}/opensource/lib/ ${MX_SDK_HOME}/opensource/lib64/ ) add_executable(main main.cpp) target_link_libraries(main glog mxbase opencv_world cpprest pthread mindxsdk_protobuf) install(TARGETS main DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
- CMake编译。
- 在“CMakeLists.txt”文件所在目录新建“build”目录。
mkdir build
- 进入“build”目录。
cd build
- 执行cmake命令。
cmake ..
- 执行make命令生成可执行文件“main”。
make -j
- 在“CMakeLists.txt”文件所在目录新建“build”目录。
运行
执行编译生成的可执行文件即可运行程序。
./main

- 若程序执行出现libascendcl.so报错,请参见程序执行出现libascendcl.so报错解决。
- 若尝试打印Device侧的Tensor、Image内存数据时出现coredump提示,请参见尝试打印Device侧的Tensor、Image内存数据时,发生coredump解决。
父主题: 使用API接口方式开发(C++)