我从CMakeLists.txt收到此错误:
/usr/bin/ld: cannot find -lQt5::Widgets
我尝试做
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/Qt/5.12.6/gcc_64/lib
然后再次运行make,但是出现相同的错误。 /home/user/Qt/5.12.6/gcc_64/lib
具有以下文件(及更多):
libQt5Widgets.la
libQt5Widgets.prl
libQt5Widgets.so
libQt5Widgets.so.5
libQt5Widgets.so.5.12
libQt5Widgets.so.5.12.6
libQt5Widgets.so.5.12.6.debug
当您这样做时,ld将搜索什么:-lQt5::Widgets
?我只能想象它在搜索libQt5Widgets.x
将lib放在最前面,并寻找以.a
或.so
结尾的文件。您的命令将寻找libQt5::Widgets.so
或libQt5::Widgets.a
。您应该改用-lQt5Widgets
。
请注意,LD_LIBRARY_PATH
对链接器没有影响,仅在运行时查找共享库时使用(并且在可执行文件中正确使用rpath时也没有必要)。您可能需要LIBRARY_PATH
。