我试图在 ubuntu 12.04 上使用 Qt 和 C++ 编程制作一个 frame_generator。我选择使用我的操作系统进入内核空间。我需要从位于我的内核上的 skbuff.h 的内核中提取一个结构,并且我成功解决了 skbuff.h 和内核系统的其他 file.h 的依赖问题,否则我在 QtCreator 上的程序可以访问到 skbuff.h 需要的不同 file.h。
但是当我编译它时,从我正在谈论的不同 files.h 中显示超过 500 个错误,当我看到一些错误时,我发现 Qt Creator 可能无法理解某些写入“C”的代码部分以及“ #ifndef ...、#error ..." 和许多其他问题。
QtCreator 使用 GCC 编译器,我真的不知道该怎么做。
轮廓:
QT += core
QT -= gui
TARGET = socket_buffer
CONFIG += console
CONFIG -= app_bundle
INCLUDEPATH += /usr/src/linux-headers-3.2.0-26-generic/include/ \
/usr/src/linux-headers-3.2.0-26-generic/arch/x86/include/ \
TEMPLATE = app
SOURCES += main.cpp \
skb.cpp
HEADERS += \
skb.h
QMAKE_CXXFLAGS = -I/usr/src/linux-headers-3.2.0-26-generic/include/linux/
QMAKE_CFLAGS = -I/usr/src/linux-headers-3.2.0-26-generic/include/linux/
示例错误:
/usr/src/linux-headers-3.2.0-26-generic/include/linux/jiffies.h:43: error: division by zero in #if
/usr/src/linux-headers-3.2.0-26-generic/include/linux/bitops.h:164: error: #error BITS_PER_LONG not 32 or 64
/usr/include/stdlib.h:337: error: 'size_t' has not been declared