Compiler construction 为什么没有链接此共享库?
我正在尝试使用GPUocelot在x86cpu上生成GPGPU基准测试的跟踪。因此,我使用-locelot和-locelotTrace链接器标志编译基准测试。我的基准测试编译和执行良好。但是,不会生成跟踪 编译命令:Compiler construction 为什么没有链接此共享库?,compiler-construction,cuda,compilation,linker,shared-libraries,Compiler Construction,Cuda,Compilation,Linker,Shared Libraries,我正在尝试使用GPUocelot在x86cpu上生成GPGPU基准测试的跟踪。因此,我使用-locelot和-locelotTrace链接器标志编译基准测试。我的基准测试编译和执行良好。但是,不会生成跟踪 编译命令: nvcc -arch=sm_20 bfs.cu -o bfs -locelot -locelotTrace libocelot.so和libocelotTrace.so位于/usr/local/lib和LD\u LIBRARY\u PATH=/usr/local/lib中 我使用
nvcc -arch=sm_20 bfs.cu -o bfs -locelot -locelotTrace
libocelot.so
和libocelotTrace.so
位于/usr/local/lib
和LD\u LIBRARY\u PATH=/usr/local/lib
中
我使用ldd
验证了链接到此二进制文件的共享库。我可以看到libocelot.so
是链接的,但我看不到libocelottrace.so
我认为这是导致无法生成跟踪的问题。如何确保二进制文件链接到libocelottrace.so
我可以看到libocelot.so
是链接的,但我看不到libocelottrace.so
这可能是因为
- 编译器使用
链接器标志(如果使用--as-needed
标志调用-v
),并且nvcc
- 您的命令行不正确。改为尝试
(命令行上库的顺序很重要)nvcc-arch=sm_20 bfs.cu-o bfs-locelotTrace-locelot
--根据需要)。