gpt4 book ai didi

c - 无法使用 papi.h 运行 PAPI 代码,错误 : cannot open shared object file in GCC

转载 作者:行者123 更新时间:2023-11-30 14:42:14 34 4
gpt4 key购买 nike

我正在尝试学习papi api来监控各种CPU事件的性能。首先,我运行了 PAPI 官方文档提到的示例片段之一。下面是代码

#include<stdio.h>
#include <unistd.h>
#include "papi.h"

#define NUM_EVENTS 2
int main()
{
int Events[NUM_EVENTS] = {PAPI_TOT_INS, PAPI_TOT_CYC};
int num1=1234;
int num2=9876;
int res1,res2;
long_long values[NUM_EVENTS];
/* Start counting events */
if (PAPI_start_counters(Events, NUM_EVENTS) != PAPI_OK)
printf("\nerror!!!\n");
//handle_error(1);
/* Do some computation here*/

res1=num1*num2;
printf("\n%d",res1);
/* Read the counters */
if (PAPI_read_counters(values, NUM_EVENTS) != PAPI_OK)
printf("\nerror!!!\n");
/* Do some computation here */

res2=num1+num2;
printf("\n%d",res2);
/* Stop counting events */
if (PAPI_stop_counters(values, NUM_EVENTS) != PAPI_OK)
printf("\nerror!!!\n");
return 0;
}

我使用包含文件路径编译它,如下所示

gcc -I/home/sabarna/Desktop/DEV/clockCycle/papi/src/ papi_try1.c -L/home/sabarna/Desktop/DEV/clockCycle/papi/src/ -lpapi

执行 a.out 时出现错误

/a.out: error while loading shared libraries: libpapi.so.5: cannot open shared object file: No such file or directory

我尝试通过导出 LD_PRELOAD 来修复此问题,但这不起作用。有人可以帮我吗?我以前从未使用过 PAPI api,所以我不确定我是否以正确的方式编译它。

最佳答案

没有理由预加载该库,请尝试定义/修改 LD_LIBRARY_PATH 而不是 LD_PRELOAD

<小时/>

-L/home/sabarna/Desktop/DEV/clockCycle/papi/src/似乎表明您已编译但未安装它

如果您将 LD_xxx 设置为 /home/sabarna/Desktop/DEV/clockCycle/papi/src/这意味着该库必须位于目录 /home/sabarna/Desktop/DEV/clockCycle/papi/src/ 中不在其他地方,所以 /home/sabarna/Desktop/DEV/clockCycle/papi/src/libpapy.so和/或/home/sabarna/Desktop/DEV/clockCycle/papi/src/libpapy.so.<number>存在

关于c - 无法使用 papi.h 运行 PAPI 代码,错误 : cannot open shared object file in GCC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54494600/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com