接口调用示例
本节提供调用HMPP接口函数的示例代码,帮助用户快速使用HMPP函数库。
- 创建test.cpp文件。
- test.cpp文件中添加以下代码内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
#include "hmpp.h" #define BUFFER_SIZE_T 500 void AddExample() { uint32_t *src1 = HMPPS_Malloc_32u(BUFFER_SIZE_T); uint32_t *src2 = HMPPS_Malloc_32u(BUFFER_SIZE_T); uint32_t *dst = HMPPS_Malloc_32u(BUFFER_SIZE_T); int32_t i, result; if (src1 == NULL || src2 == NULL || dst == NULL) { return; } for (i = 0; i < BUFFER_SIZE_T; ++i) { src1[i] = i; src2[i] = i + 1; } result = HMPPS_Add_32u(src1, src2, dst, BUFFER_SIZE_T); printf("result = %d \n dst = ", result); for (i = 0; i < BUFFER_SIZE_T; i++) { printf("%d ", dst[i]); } printf("\n"); HMPPS_Free(src1); HMPPS_Free(src2); HMPPS_Free(dst); }
1 2 3 4
int main(void){ AddExample(); return 0; }
编译并执行示例
- 编译文件。
1
g++ test.cpp -o test -lHMPP_fft -lHMPP_fftf -lHMPP_signal -lHMPP_core -lHMPP_image
- 执行文件。
1
./test
问题解决
问题现象:
- 头文件包含错误:“fatal error: hmpp.h: No such file or directory”
- 引用动态库错误:“./test: error while loading shared libraries: libHMPP_core.so.xxxx: cannot open shared object file: No such file or directory”
上述现象结果中涉及的xxxx代表版本号。
问题原因:
- 安装包可能未正确安装,HMPP库的头文件和动态库并未存储在指定目录。
- 安装包安装后,环境变量未正常写入系统并生效。
处理步骤:
- 在“/usr/local/include/HMPP”和“/usr/local/lib/HMPP”目录查找是否存在头文件和动态库,如果不存在需重新安装。
- 添加环境变量。
- 打开“/etc/profile”文件。
vi /etc/profile
- 在文件中添加如下环境变量。
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/include/HMPP export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include/HMPP if [ ! -n "$LD_LIBRARY_PATH" ] then export LD_LIBRARY_PATH=/usr/local/lib/HMPP else export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/HMPP fi
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/etc/profile”文件。
- 使配置文件生效。
source /etc/profile
父主题: 函数库使用方法