首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接到Qt4库

链接到Qt4库
EN

Stack Overflow用户
提问于 2017-06-02 03:33:45
回答 1查看 132关注 0票数 0

我正在尝试编译一个简短的测试程序,该程序需要Qt4,但无法正确链接到Qt4库。我通过以下方式安装了Qt4

sudo apt-get install qt4-dev-tools

程序代码如下所示

代码语言:javascript
复制
#include <QtCore>
#include <iostream>

int main() {

    std::cout << "Qt version: " << qVersion() << std::endl;
}

共享库libQtCore.so位于/usr/lib/x86_64-linux-gnu,但尝试通过以下方式进行编译

g++ -L/usr/lib/x86_64-linux-gnu -Wall -o test.exe test.cpp -lQtCore

返回一条错误消息,指出没有名为QtCore的文件或目录。

我也尝试过直接使用QtCore源代码,但收到了以下错误消息:

/tmp/ccljEHOY.o: In function main': test.cpp:(.text+0xa): undefined reference toqVersion()‘collect2: error: ld returned 1 exit status

我在这里做错了什么?

谢谢

Ips

EN

回答 1

Stack Overflow用户

发布于 2017-06-02 04:12:31

编译器无法找到QtCore文件,因为您需要将带有Qt的路径添加到要搜索头文件的目录列表中。

您可以使用pkg-config获取适当的标志:

代码语言:javascript
复制
$:pkg-config QtCore --cflags
-DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtCore

对于链接:

代码语言:javascript
复制
$:pkg-config QtCore --libs
-lQtCore

您可以在调用编译器时使用pkg-config

代码语言:javascript
复制
g++ test.cpp `pkg-config QtCore --cflags --libs`

代码语言:javascript
复制
g++ `pkg-config QtCore --cflags` test.cpp `pkg-config QtCore --libs`

请注意,以下方式将不起作用:

代码语言:javascript
复制
g++ `pkg-config QtCore --cflags --libs` test.cpp
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44315700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档