/usr/bin/ld: 搜索 -lQtCore 时跳过不兼容的 /usr/lib/x86_64-linux-gnu/libQtCore.so
Posted
技术标签:
【中文标题】/usr/bin/ld: 搜索 -lQtCore 时跳过不兼容的 /usr/lib/x86_64-linux-gnu/libQtCore.so【英文标题】:/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libQtCore.so when searching for -lQtCore 【发布时间】:2017-04-17 08:58:50 【问题描述】:当我尝试使用 Qt Creator 构建新项目时,出现以下错误:
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libQtGui.so when searching for -lQtGui
/usr/bin/ld: cannot find -lQtGui
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libQtCore.so when searching for -lQtCore
/usr/bin/ld: cannot find -lQtCore
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libpthread.so when searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libpthread.a when searching for -lpthread
collect2: error: ld returned 1 exit status
make: *** [untitled] Error 1
这是编译输出的命令行:
g++ -m32 -o untitled main.o mainwindow.o moc_mainwindow.o -L/usr/lib/x86_64-linux-gnu -lQtGui -lQtCore -lpthread
它似乎正在尝试以 32 位模式构建,即使我使用的是 Ubuntu 64 位。
【问题讨论】:
【参考方案1】:我发现了问题——我的 Qt 工具包都错了。我最近重新安装了 Ubuntu,从 32 位切换到 64 位,但我保留了我的主文件夹,并且我在 ~/.config/QtProject/
有一个陈旧的配置。删除该文件夹解决了我的问题,现在 Qt Creator 可以正常构建项目。
【讨论】:
以上是关于/usr/bin/ld: 搜索 -lQtCore 时跳过不兼容的 /usr/lib/x86_64-linux-gnu/libQtCore.so的主要内容,如果未能解决你的问题,请参考以下文章
/usr/bin/ld: cannot find -lxxx 的解决办法
/usr/bin/ld: cannot find -lxxx 的解决办法
/usr/bin/ld: 找不到 -lmsc----解决方案
Bugfix系列/usr/bin/ld: cannot find -lxxx 的解决办法
/usr/bin/ld: 找不到 -ldlib /usr/bin/ld: 找不到 -lcblas /usr/bin/ld: 找不到 -llapack
/usr/bin/ld: cannot find -llzma /usr/bin/ld: cannot find -lbz2