它引发的错误:
g++ -m64 -std=c++17 main.cpp -o vulkanprogram -lvulkan
/usr/bin/ld: cannot find -lvulkan
collect2: error: ld returned 1 exit status
我自己找到ld会返回什么:
ld -lvulkan --verbose
attempt to open /usr/lib/libvulkan.so succeeded
/usr/lib/libvulkan.so
有人可以帮我解释一下吗?
答案 0 :(得分:0)
这是因为ld
无法搜索正确的路径
在运行之前使用此功能:export LD_LIBRARY_PATH=/usr/lib
或这个g++ -m64 -std=c++17 main.cpp -o vulkanprogram -I/usr/include/ -L/usr/lib/ -lvulkan
答案 1 :(得分:0)
表面上,基于注释,问题出在LD搜索路径上。提供完整路径(/ usr / lib / lib ...)似乎可以解决该问题。
g++ -m64 -std=c++17 main.cpp -o vulkanprogram /usr/lib/libvulkan.so
有关永久解决方案-使用
进行故障排除g++ --Wl,--verbose m64 -std=c++17 main.cpp -o vulkanprogram /usr/lib/libvulkan.so
file /usr/lib/libvulkan.so
的类型