私はubuntu12.04でQtとC++プログラミングを使ってframe_generatorを作ろうとしました。私は自分のOSでカーネル空間に取り組むことを選択しました。カーネルのskbuff.hにあるカーネルから構造体を抽出する必要があり、カーネルシステムのskbuff.hと他のfile.hの依存関係の問題を解決することに成功しました。そうしないと、QtCreatorのプログラムがアクセスできます。 skbuff.hが必要とした別のfile.hに。
しかし、コンパイルすると、私が話しているさまざまなfiles.hから500以上のエラーが表示され、いくつかのエラーが表示されると、QtCreatorが「C」と「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