C++ 无法将PAPI库与opt llvm链接

C++ 无法将PAPI库与opt llvm链接,c++,clang,llvm,papi,C++,Clang,Llvm,Papi,我正在从事一个项目,在这个项目中,我需要使用clang生成位代码,使用opt运行一些优化过程,然后创建一个可执行文件并测量其硬件计数器 我可以直接使用以下工具通过clang链接: clang -g -O0 -w -I/opt/apps/papi/5.3.0/include -Wl,-rpath,$PAPI_LIB -L$PAPI_LIB \ -lpapi /scratch/02681/user/papi_helper.c prog.c -o a.out 但是现在我想在使用clang的前

我正在从事一个项目,在这个项目中,我需要使用clang生成位代码,使用opt运行一些优化过程,然后创建一个可执行文件并测量其硬件计数器

我可以直接使用以下工具通过clang链接:

clang -g -O0 -w -I/opt/apps/papi/5.3.0/include -Wl,-rpath,$PAPI_LIB -L$PAPI_LIB \
    -lpapi /scratch/02681/user/papi_helper.c prog.c -o a.out
但是现在我想在使用clang的前端并使用opt应用优化过程之后链接它

我正在尝试以下方法:

clang -g -O0 -w -c -emit-llvm -I/opt/apps/papi/5.3.0/include -Wl,-rpath,$PAPI_LIB -L$PAPI_LIB \
    -lpapi /scratch/02681/user/papi_helper.c prog.c -o prog.o

llvm-link prog.o papi_helper.o -o prog-link.o

// run optimization passes
opt -licm prog-link.o -o prog-opt.o

llc -filetype=obj prog-opt.o -o prog-exec.o

clang prog-exec.o
经过上述过程后,我得到以下错误:

undefined reference to `PAPI_event_code_to_name'

它无法解析papi函数。提前感谢您的帮助。

显然,您需要在最后一次clang调用中添加-lpapi。链接器还怎么知道libpapi