我尝试了几个IDE在Linux上开发驱动程序在C. QtCreator最适合我。 为了更快的编码,我只需要IDE就可以实现智能化(codecompletion,跳转到点击等function)。
有没有人configurationQTCreator这样的需求。 例如,我需要做什么才能获得一个结构intellisence?
问候camelord。
更好的解决方案是用“Import Existing Project”导入linux源代码。 添加您的ARCH需要的所有文件。 一旦创建,编辑.includes文件并删除列出的所有包含目录。
然后添加一些linux使用的。
include arch/<ARCH>/include arch/<ARCH>/mach-<MACH>/include arch/<ARCH>/<PLATFORM>/include
现在编辑.config,这是最好的一点。 添加如下内容。
#define __KERNEL__ #define __arm__ #define __LINUX_ARM_ARCH__ 7 #include <linux/kconfig.h>
这是#include引入了你所需要的所有autoconf的东西。
做一个使V = 1看标准定义内核版本使用。
另外,如果您正在使用交叉编译器,请在“Build&Run”编译器选项卡中照常设置。
我也有同样的问题。 我找到了一个解决方案,如何准备Qt Creator到Ubuntu的linux内核开发。
准备包含路径:
sudo apt-get install linux-headers-$(uname -r)
配置您的* .pro文件:
TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt ARCH=arm64 SRC_PROJECT_PATH = /home/user/my_LKM_project LINUX_HEADERS_PATH = /usr/src/linux-headers-$$system(uname -r) SOURCES += $$system(find -L $$SRC_PROJECT_PATH -type f -name "*.c" -o -name "*.S" ) HEADERS += $$system(find -L $$SRC_PROJECT_PATH -type f -name "*.h" ) OTHER_FILES += $$system(find -L $$SRC_PROJECT_PATH -type f -not -name "*.h" -not -name "*.c" -not -name "*.S" ) INCLUDEPATH += $$system(find -L $$SRC_PROJECT_PATH -type d) INCLUDEPATH += $$system(find -L $$LINUX_HEADERS_PATH/include -type d) INCLUDEPATH += $$system(find -L $$LINUX_HEADERS_PATH/arch/$$ARCH/include -type d)
建造:
我在这里找到答案。 为了实现这个,你需要添加
QMAKE_CXXFLAGS = -I/usr/src/linux-3.1.8-1-ARCH/include QMAKE_CFLAGS = -I/usr/src/linux-3.1.8-1-ARCH/include
到用于构建内核模块的所有.pro文件。