Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从Qt源代码树编译Qt工具_C++_Qt - Fatal编程技术网

C++ 从Qt源代码树编译Qt工具

C++ 从Qt源代码树编译Qt工具,c++,qt,C++,Qt,我试图从Qt源代码树中编译在qtserialbus/src/tools/canbusutil中找到的canbusutil。所以我只是将文件夹复制到另一个地方,并尝试编译。但是,我最终出现了以下错误: 项目错误:项目没有顶级.qmake.conf文件 因此,我查看了canbusutil.pro文件: QT = core serialbus SOURCES += main.cpp \ readtask.cpp \ canbusutil.cpp \ sigtermhandle

我试图从Qt源代码树中编译在qtserialbus/src/tools/canbusutil中找到的canbusutil。所以我只是将文件夹复制到另一个地方,并尝试编译。但是,我最终出现了以下错误:

项目错误:项目没有顶级.qmake.conf文件

因此,我查看了canbusutil.pro文件:

QT = core serialbus

SOURCES += main.cpp \
    readtask.cpp \
    canbusutil.cpp \
    sigtermhandler.cpp

HEADERS += \
    readtask.h \
    canbusutil.h \
    sigtermhandler.h

load(qt_tool)

删除最后一行会导致不同的错误,抱怨某些转换不允许或继承的方法不可用。作为Qt源代码的一部分构建工作正常。如何调整*.pro文件以使其从Qt源代码树中编译出来。

您需要设置模板,并使其成为控制台项目:

QT = serialbus
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle

SOURCES += main.cpp \
    readtask.cpp \
    canbusutil.cpp \
    sigtermhandler.cpp

HEADERS += \
    readtask.h \
    canbusutil.h \
    sigtermhandler.h

当我试图构建
qttools\src\Linguagist\lrelease
这些工具正在包含语言学家目录的目录中查找
.qmake.conf
。所以
qtools\src\.qmake.conf

我的
.qmake.conf
文件的内容是:

load(qt_build_config)
CONFIG += qt_example_installs
MODULE_VERSION = 5.8.0
免责声明:


到目前为止,我的经验是在Windows上。Linux可能有不同的默认行为,我还不确定它将与哪个环境变量相关。

为什么不编译整个
qtserialbus
子模块?我知道我可以构建qtserialbus子模块,但我希望能够避免它。我试过这个,但这给我留下了描述的错误,比如:请求从'QList'转换为非标量类型'const QStringList',或者错误:'const class QCanBusFrame'没有名为'toString'的成员。