/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