我的方案:用QT编写,然后在终端里用gcc编译。。。
我的方案:用QT编写,然后在终端里用gcc编译。。。
问题是:需要将纯c代码,加入到QT项目。需要QT实现界面。
有没有可能是你的qmake文件(*.pro)没有把.c文件加到项目里面?
有没有可能是你的qmake文件(*.pro)没有把.c文件加到项目里面?
加进去了。添加c代码文件时,QT creator自动加进去的。
用qtcerator能正常运行且编译调试的话,你说makefile有问题,可能是你用的qmake是qt4的?,但是creator里面默认是5?
用qmake的绝对路径试试
问题是:需要将纯c代码,加入到QT项目。需要QT实现界面。
不需要,按C++的去写,没问题的。
可以直接 c 代码的,你看一下 kit 有没有指定 c 的编译器,如 gcc
可以直接 c 代码的,你看一下 kit 有没有指定 c 的编译器,如 gcc
有gcc的。单个纯c是qmake后可以Makefile的。
不需要,按C++的去写,没问题的。
原来我也是这么想的,但是有版本冲突。c的函数在c++中不是每一个都可以用的。
原来我也是这么想的,但是有版本冲突。c的函数在c++中不是每一个都可以用的。
函数问题,我的解决方法:按正常的去写,不要用QT去调试,不理会QT的错误提醒,以GCC的编译为准。
也就是说,只把QT当成一个文本编辑器,不是编译器。
RT:我将其分为两部分
- 纯 C 部分,所有源代码编译为库(.a)
- 纯 C++ 部分,所有源代码照常编译
- C++ 部分引用 C 函数,使用
extern "C" {
来包围#include
因为不太会 qmake ,以下我使用 cmake 为例:
正常来说,一个基本的项目构建就是这样的。
并且我需要 cmake 生成一个 compile_commands.json 提供给我 clangd 语言服务器去分析整个项目的构建结构,并代为增强 vscode 编辑能力,我想 qtcreator 也会理解吧。
qmake 理论上是可以配置 c 的编译,但我不太清楚如何编写。
RT:我将其分为两部分
- 纯 C 部分,所有源代码编译为库(.a)
- 纯 C++ 部分,所有源代码照常编译
- C++ 部分引用 C 函数,使用
extern "C" {
来包围#include
因为不太会 qmake ,以下我使用 cmake 为例:
正常来说,一个基本的项目构建就是这样的。
并且我需要 cmake 生成一个 compile_commands.json 提供给我 clangd 语言服务器去分析整个项目的构建结构,并代为增强 vscode 编辑能力,我想 qtcreator 也会理解吧。
qmake 理论上是可以配置 c 的编译,但我不太清楚如何编写。
谢谢!实在不行就这么干。
Popular Events
More
用QT creator编写纯c代码,如果代码都在一个文件里,qmake命令生成的Makefile,可以正确生成可直接运行程序。在项目里面再添加一个纯c代码文件后,QT creator可以运行并得到正确结果,但是qmake生成的Makefile,运行后全部是“没有找到命令.....”等错误提示,不能生成可直接运行程序。请熟悉QT的老师赐教如何解决这个问题。