crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
Zaca
  опции профиля:
сообщение 22.3.2012, 15:43
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 22.3.2012
Пользователь №: 3281

Спасибо сказали: 0 раз(а)




Репутация:   0  


Linux 2.6
QT Creator 2.4.1

При использовании Makefile
KERNEL=$(shell if [ "`uname -r | grep 2.6.`" = "" ]; then echo "2" ; else echo "2.6"; fi)
ifeq ($(KERNEL),2.6) #kernel 2.6
obj-m := driver_I.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
endif


получаю на выходе модуль driver_I.ko, который я могу вставлять в ядро.

Хотела для этих целей (линковать, компилировать) использовать IDE QT4

Создаю проект (простой проект нра языке С), собираю - на выходе стопицот ошибок.

Подскажите, что не так делаю? Спасибо.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 22.3.2012, 15:53
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Каких ошибок
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 22.3.2012, 19:42
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


не знаю насчёт Qt Creator'а, но когда при компиляции модуля ядра вылазит куча ошибок - это обычно банальное отсутствие в системе заголовков нужного ядра.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zaca
  опции профиля:
сообщение 23.3.2012, 7:33
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 22.3.2012
Пользователь №: 3281

Спасибо сказали: 0 раз(а)




Репутация:   0  


ну естессно - первый десяток ненайденные инклюды и пошло-поехало...

Впыталась поставить в файл проекта INCLUDEPATH, началась проблема с поиском путей в этих найднных "h"-файлах.

Определяла переменные QTDIR, PATH, LD_LIBRARY_PATH - безтолку

Не пойму - надо что-то еще настроить? Сама идея, для работы с драйвером, QT использовать, не противоречит виликой идее чучхе?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 23.3.2012, 7:57
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(Zaca @ 23.3.2012, 13:33) *
ну естессно - первый десяток ненайденные инклюды и пошло-поехало...

Впыталась поставить в файл проекта INCLUDEPATH, началась проблема с поиском путей в этих найднных "h"-файлах.

Определяла переменные QTDIR, PATH, LD_LIBRARY_PATH - безтолку

Не пойму - надо что-то еще настроить? Сама идея, для работы с драйвером, QT использовать, не противоречит виликой идее чучхе?

не противоречит конечно, для людей любящих забивать гвозди микроскопом. А загадочность этого явления невозможно определить не зная как написан текст и не имея хотя бы начальных текстов ошибок. Как любят говорить в фидо серьезные дядьки, телепаты в отпуске
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zaca
  опции профиля:
сообщение 23.3.2012, 13:12
Сообщение #6


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 22.3.2012
Пользователь №: 3281

Спасибо сказали: 0 раз(а)




Репутация:   0  


Это без INCLUDEPATH


kmk.c:4:28: error: linux/autoconf.h: No such file or directory
kmk.c:5:26: error: linux/module.h: No such file or directory
kmk.c:6:22: error: linux/mm.h: No such file or directory
kmk.c:7:24: error: linux/slab.h: No such file or directory
kmk.c:8:27: error: linux/vmalloc.h: No such file or directory
kmk.c:9:25: error: linux/delay.h: No such file or directory
kmk.c:10:29: error: linux/interrupt.h: No such file or directory
kmk.c:11:29: error: linux/selection.h: No such file or directory
kmk.c:12:24: error: linux/init.h: No such file or directory
kmk.c:13:28: error: linux/smp_lock.h: No such file or directory
kmk.c:14:28: error: linux/spinlock.h: No such file or directory
kmk.c:15:20: error: asm/io.h: No such file or directory
kmk.c:16:25: error: asm/uaccess.h: No such file or directory
kmk.c:19:27: error: linux/cpumask.h: No such file or directory
kmk.c:20:28: error: linux/pci-aspm.h: No such file or directory
In file included from ../kmk_proj/kmk.c:33:
/usr/src/linux-2.6.27.7-9/drivers/staging/rt2860/rt2860.h:57: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'rt2860_interrupt'
In file included from ../kmk_proj/kmk.c:36:
../kmk_proj/kmk.h:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'buf_KMK_test'
../kmk_proj/kmk.h:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'kmk_handler'
In file included from ../kmk_proj/kmk.c:37:
../kmk_proj/kmk_ou.h:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'buf_KMK_ou_CTRL'
In file included from ../kmk_proj/kmk.c:38:
../kmk_proj/kmk_ctrl.h:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'buf_KMK_ctrl_Inicial'
../kmk_proj/kmk.c:56: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'buf_ioctl'
../kmk_proj/kmk.c:63: error: expected specifier-qualifier-list before 'u32'
../kmk_proj/kmk.c:84: warning: 'struct file' declared inside parameter list
../kmk_proj/kmk.c:84: warning: its scope is only this definition or declaration, which is probably not what you want
../kmk_proj/kmk.c:84: warning: 'struct inode' declared inside parameter list
../kmk_proj/kmk.c: In function 'kmk_open':
../kmk_proj/kmk.c:88: warning: implicit declaration of function 'MINOR'
../kmk_proj/kmk.c:88: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:89: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:96: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:99: warning: implicit declaration of function 'try_module_get'
../kmk_proj/kmk.c:99: error: 'THIS_MODULE' undeclared (first use in this function)
../kmk_proj/kmk.c:99: error: (Each undeclared identifier is reported only once
../kmk_proj/kmk.c:99: error: for each function it appears in.)
../kmk_proj/kmk.c: At top level:
../kmk_proj/kmk.c:105: warning: 'struct file' declared inside parameter list
../kmk_proj/kmk.c:105: warning: 'struct inode' declared inside parameter list
../kmk_proj/kmk.c: In function 'kmk_close':
../kmk_proj/kmk.c:108: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:109: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:114: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:116: warning: implicit declaration of function 'module_put'
../kmk_proj/kmk.c:116: error: 'THIS_MODULE' undeclared (first use in this function)
../kmk_proj/kmk.c:117: warning: implicit declaration of function 'printk'
../kmk_proj/kmk.c: At top level:
../kmk_proj/kmk.c:122: warning: 'struct poll_table_struct' declared inside parameter list
../kmk_proj/kmk.c:122: warning: 'struct file' declared inside parameter list
../kmk_proj/kmk.c: In function 'kmk_poll':
../kmk_proj/kmk.c:127: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:128: warning: implicit declaration of function 'poll_wait'
../kmk_proj/kmk.c:128: error: 'kmk_info' has no member named 'wait_trans_fin_queue'
../kmk_proj/kmk.c:130: error: 'kmk_info' has no member named 'trans_completed'
../kmk_proj/kmk.c:131: error: 'kmk_info' has no member named 'trans_completed'
../kmk_proj/kmk.c: At top level:
../kmk_proj/kmk.c:140: warning: 'struct file' declared inside parameter list
../kmk_proj/kmk.c:140: warning: 'struct inode' declared inside parameter list
../kmk_proj/kmk.c: In function 'kmk_ioctl':
../kmk_proj/kmk.c:143: error: 'u32' undeclared (first use in this function)
../kmk_proj/kmk.c:143: error: 'ADDR_RAM' undeclared (first use in this function)
../kmk_proj/kmk.c:143: error: 'ADDR_REG' undeclared (first use in this function)
../kmk_proj/kmk.c:143: warning: left-hand operand of comma expression has no effect
../kmk_proj/kmk.c:145: error: 'u16' undeclared (first use in this function)
../kmk_proj/kmk.c:145: error: expected ';' before 'REG'
../kmk_proj/kmk.c:149: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:150: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:155: warning: implicit declaration of function 'copy_from_user'
../kmk_proj/kmk.c:155: error: 'buf_ioctl' undeclared (first use in this function)
../kmk_proj/kmk.c:157: error: 'kmk_info' has no member named 'aperture1'
../kmk_proj/kmk.c:158: error: 'kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:159: error: expected ')' before 'u16'
../kmk_proj/kmk.c:159: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:160: error: expected ')' before 'u16'
../kmk_proj/kmk.c:160: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:163: error: expected ')' before 'u16'
../kmk_proj/kmk.c:163: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:163: error: 'buf_KMK_test' undeclared (first use in this function)
../kmk_proj/kmk.c:164: error: expected ')' before 'u16'
../kmk_proj/kmk.c:164: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:165: error: expected ')' before 'u16'
../kmk_proj/kmk.c:165: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:166: error: expected ')' before 'u16'
../kmk_proj/kmk.c:166: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:167: error: expected ')' before 'u16'
../kmk_proj/kmk.c:167: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:168: error: 'kmk_info' has no member named 'comand'
../kmk_proj/kmk.c:170: error: 'kmk_info' has no member named 'trans_completed'
../kmk_proj/kmk.c:171: warning: implicit declaration of function 'up'
../kmk_proj/kmk.c:171: error: 'kmk_info' has no member named 'sem'
../kmk_proj/kmk.c:172: warning: implicit declaration of function 'interruptible_sleep_on'
../kmk_proj/kmk.c:172: error: 'kmk_info' has no member named 'wait_trans_fin_queue'
../kmk_proj/kmk.c:173: warning: implicit declaration of function 'down_interruptible'
../kmk_proj/kmk.c:173: error: 'kmk_info' has no member named 'sem'
../kmk_proj/kmk.c:174: error: 'ERESTARTSYS' undeclared (first use in this function)
../kmk_proj/kmk.c:176: error: 'kmk_info' has no member named 'sem'
../kmk_proj/kmk.c:177: error: 'kmk_info' has no member named 'trans_completed'
../kmk_proj/kmk.c:178: error: 'kmk_info' has no member named 'comand'
../kmk_proj/kmk.c:179: error: expected ')' before 'u16'
../kmk_proj/kmk.c:179: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:180: error: expected ')' before 'u16'
../kmk_proj/kmk.c:180: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:182: warning: implicit declaration of function 'copy_to_user'
../kmk_proj/kmk.c:187: error: 'kmk_info' has no member named 'aperture1'
../kmk_proj/kmk.c:188: error: 'kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:189: error: expected ')' before 'u16'
../kmk_proj/kmk.c:189: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:190: error: expected ')' before 'u16'
../kmk_proj/kmk.c:190: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:192: error: expected ')' before 'u16'
../kmk_proj/kmk.c:192: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:192: error: 'buf_KMK_ctrl_Inicial' undeclared (first use in this function)
../kmk_proj/kmk.c:193: error: expected ')' before 'u16'
../kmk_proj/kmk.c:193: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:194: error: expected ')' before 'u16'
../kmk_proj/kmk.c:194: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:200: error: 'REG' undeclared (first use in this function)
../kmk_proj/kmk.c:201: error: 'DATA' undeclared (first use in this function)
../kmk_proj/kmk.c:202: error: 'kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:203: error: expected ')' before 'u16'
../kmk_proj/kmk.c:203: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:210: error: 'kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:211: error: expected ')' before 'u16'
../kmk_proj/kmk.c:211: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:218: error: 'kmk_info' has no member named 'aperture1'
../kmk_proj/kmk.c:224: error: expected ')' before 'u16'
../kmk_proj/kmk.c:224: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:229: error: 'kmk_info' has no member named 'aperture1'
../kmk_proj/kmk.c:233: error: expected ')' before 'u16'
../kmk_proj/kmk.c:233: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:245: error: 'kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:246: error: 'kmk_info' has no member named 'comand'
../kmk_proj/kmk.c:247: error: expected ')' before 'u16'
../kmk_proj/kmk.c:247: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:252: error: 'kmk_info' has no member named 'aperture1'
../kmk_proj/kmk.c:253: error: 'kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:254: error: expected ')' before 'u16'
../kmk_proj/kmk.c:254: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:255: error: expected ')' before 'u16'
../kmk_proj/kmk.c:255: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:257: error: expected ')' before 'u16'
../kmk_proj/kmk.c:257: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:258: error: expected ')' before 'u16'
../kmk_proj/kmk.c:258: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:259: error: expected ')' before 'u16'
../kmk_proj/kmk.c:259: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:260: error: expected ')' before 'u16'
../kmk_proj/kmk.c:260: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:263: error: expected ')' before 'u16'
../kmk_proj/kmk.c:263: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:263: error: 'buf_KMK_ou_CTRL' undeclared (first use in this function)
../kmk_proj/kmk.c:264: error: expected ')' before 'u16'
../kmk_proj/kmk.c:264: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:269: error: expected ')' before 'u16'
../kmk_proj/kmk.c:269: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:270: error: expected ')' before 'u16'
../kmk_proj/kmk.c:270: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:279: error: 'kmk_info' has no member named 'aperture1'
../kmk_proj/kmk.c:280: error: 'kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:281: error: expected ')' before 'u16'
../kmk_proj/kmk.c:281: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:282: error: expected ')' before 'u16'
../kmk_proj/kmk.c:282: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:284: error: expected ')' before 'u16'
../kmk_proj/kmk.c:284: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c: At top level:
../kmk_proj/kmk.c:296: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'kmk_init'
../kmk_proj/kmk.c:375: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'kmk_handler'
../kmk_proj/kmk.c: In function 'kmk_cleanup':
../kmk_proj/kmk.c:395: error: 'struct kmk_info' has no member named 'next'
../kmk_proj/kmk.c:397: error: expected ')' before 'u16'
../kmk_proj/kmk.c:397: error: 'struct kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:397: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:398: error: expected ')' before 'u16'
../kmk_proj/kmk.c:398: error: 'struct kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:398: warning: type defaults to 'int' in declaration of 'type name'
../kmk_proj/kmk.c:400: error: 'struct kmk_info' has no member named 'aperture1'
../kmk_proj/kmk.c:401: warning: implicit declaration of function 'iounmap'
../kmk_proj/kmk.c:401: error: 'struct kmk_info' has no member named 'aperture1'
../kmk_proj/kmk.c:402: error: 'struct kmk_info' has no member named 'aperture2'
../kmk_proj/kmk.c:405: warning: implicit declaration of function 'pci_release_regions'
../kmk_proj/kmk.c:407: warning: implicit declaration of function 'free_irq'
../kmk_proj/kmk.c:407: error: dereferencing pointer to incomplete type
../kmk_proj/kmk.c:408: warning: implicit declaration of function 'kfree'


> env | grep QT
дает

QT_IM_MODULE=xim
QT_SYSTEM_DIR=/usr/share/desktop-data
QT_PLUGIN_PATH=/root/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/
QT_IM_SWITCHER=imsw-multi
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 23.3.2012, 14:31
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


значит так, все эти хедеры находятся по пути путь_к_текущему_ядру/include. Следовательно в проект следует добавить
INCLUDEPATH += "полный путь до текущего ядра/include"

у меня допустим это бы выглядело
INCLUDEPATH += "/usr/src/kernels/3.3.0-4.fc16.i686/include"


Сообщение отредактировал maint - 23.3.2012, 14:36
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zaca
  опции профиля:
сообщение 23.3.2012, 15:02
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 22.3.2012
Пользователь №: 3281

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(maint @ 23.3.2012, 14:31) *
значит так, все эти хедеры находятся по пути путь_к_текущему_ядру/include. Следовательно в проект следует добавить
INCLUDEPATH += "полный путь до текущего ядра/include"

у меня допустим это бы выглядело
INCLUDEPATH += "/usr/src/kernels/3.3.0-4.fc16.i686/include"


да, это я сделала, инклюды увиделись - но те ".h" файлы, на которые ссылаются эти - вылетают с той же проблемой...
и их там туча...
наверно можно же как-то настроить, чтобы эти файлы искались и в дирриктории и в поддиректории...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 23.3.2012, 15:15
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(Zaca @ 23.3.2012, 21:02) *
Цитата(maint @ 23.3.2012, 14:31) *
значит так, все эти хедеры находятся по пути путь_к_текущему_ядру/include. Следовательно в проект следует добавить
INCLUDEPATH += "полный путь до текущего ядра/include"

у меня допустим это бы выглядело
INCLUDEPATH += "/usr/src/kernels/3.3.0-4.fc16.i686/include"


да, это я сделала, инклюды увиделись - но те ".h" файлы, на которые ссылаются эти - вылетают с той же проблемой...
и их там туча...
наверно можно же как-то настроить, чтобы эти файлы искались и в дирриктории и в поддиректории...

текст, текст начала программы. Только где хедеры, без всего текста, как в ошибках. Какая то элементарная ошибка в написании
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 23.3.2012, 16:33
Сообщение #10


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


тут дело не в инклюдах. а в том, что модуль ядра должен собираться в каталоге /lib/modules/<версия ядра>/build. это должен быть линк на сорцы ядра (или хотя бы хэдеры). также в каталоге /lib/modules/<версия ядра>/ должен быть линк sources - также на сорцы ядра или хэдеры.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.6.2025, 4:14