首先找一个空文件夹,新建一个 test.c
文件,并写入如下内容:
#include "hv/hv.h" int main() { char exe_filepath[MAX_PATH] = {0}; char run_dir[MAX_PATH] = {0}; // 获取hv编译版本 const char* version = hv_compile_version(); // 获取可执行文件路径 get_executable_path(exe_filepath, sizeof(exe_filepath)); // 获取运行目录 get_run_dir(run_dir, sizeof(run_dir)); printf("exe_filepath=%s\n", exe_filepath); printf("run_dir=%s\n", run_dir); // 写日志 LOGI("libhv version: %s", version); return 0; }点击复制复制失败已复制
文件下载:test.c
接下来编译运行:
# 编译 $ gcc test.c -o test -I/usr/local/include -L/usr/local/lib -Wl,-R/usr/local/lib -lhv # 运行 $ ./test exe_filepath=/home/iric/桌面/test/libhv-test/test run_dir=/home/iric/桌面/test/libhv-test # 查看生成日志 $ cat libhv.20220731.log 2022-07-31 21:19:55.360 INFO libhv version: 1.22.7.31 [test.c:19:main]点击复制复制失败已复制
提示
官方文档使用cc
命令编译,这里使用gcc
来编译,如果不加-I/usr/local/include -L/usr/local/lib -Wl,-R/usr/local/lib
,则可以编译通过,但是运行的时候会报error while loading shared libraries: libhv.so: cannot open shared object file: No such file or directory
错误。使用官方的编译命令:cc -std=c99 test.c -o test -lhv
编译后仍然会报错,由于初次接触,还不知道为什么。
2022年7月31日补充
可以不加-L/usr/local/lib
和-I/usr/local/include
,但是-Wl,-R/usr/local/lib
不可以去掉。最简命令为:$ gcc test.c -o test -Wl,-R/usr/local/lib -lhv