Матрица P выражается следующим образом P = KR[ I | -c] = K[R|t], где K — верхняя треугольная матрица внутренних параметров камеры размера 3 × 3 (конкретный вид приведен ниже), R — ортогональная матрица размера 3 × 3, определяющая поворот камеры относительно глобальной системы координат, I — единичная матрица размера 3 × 3, вектор c — координаты центра камеры, а t = −Rc.
dev@dev-PC:~/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212$ sudo make
[sudo] password for dev:
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.16.0-999-lowlatency/build M=/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212 modules
make[1]: Entering directory '/usr/src/linux-headers-4.16.0-999-lowlatency'
CC [M] /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/core/rtw_cmd.o
In file included from /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service.h:52:0,
from /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/drv_types.h:32,
from /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/core/rtw_cmd.c:22:
/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service_linux.h: In function ‘_init_timer’:
/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service_linux.h:296:8: error: ‘_timer {aka struct timer_list}’ has no member named ‘data’
ptimer->data = (unsigned long)cntx;
^~
/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service_linux.h:297:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
init_timer(ptimer);
^~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:324: recipe for target '/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/core/rtw_cmd.o' failed
make[2]: *** [/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/core/rtw_cmd.o] Error 1
Makefile:1558: recipe for target '_module_/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212' failed
make[1]: *** [_module_/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.16.0-999-lowlatency'
Makefile:1902: recipe for target 'modules' failed
make: *** [modules] Error 2
gdc -c kernel.main.d -o kernel.main.o -g
kernel.main.d:12:14: error: @identifier or @(ArgumentList) expected, not @shared
@shared *(vidmem + i) = 0;
^
kernel.main.d:12:14: error: valid attributes are @property, @safe, @trusted, @system, @disable
@shared *(vidmem + i) = 0;
^
kernel.main.d:12:21: error: basic type expected, not *
@shared *(vidmem + i) = 0;
^
kernel.main.d:12:22: error: unexpected ( in declarator
@shared *(vidmem + i) = 0;
^
kernel.main.d:12:30: error: identifier expected for template value parameter
@shared *(vidmem + i) = 0;
^
kernel.main.d:12:30: error: found '+' when expecting ')'
@shared *(vidmem + i) = 0;
^
kernel.main.d:12:32: error: no identifier for declarator _error_*
@shared *(vidmem + i) = 0;
^
kernel.main.d:12:33: error: found ')' when expecting ';' following statement
@shared *(vidmem + i) = 0;
^
kernel.main.d:12:35: error: found '=' instead of statement
@shared *(vidmem + i) = 0;
^
kernel.main.d:15:3: error: @identifier or @(ArgumentList) expected, not @shared
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:3: error: valid attributes are @property, @safe, @trusted, @system, @disable
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:10: error: basic type expected, not *
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:11: error: unexpected ( in declarator
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:19: error: identifier expected for template value parameter
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:19: error: found '+' when expecting ')'
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:21: error: no identifier for declarator _error_*
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:48: error: found ')' when expecting ';' following statement
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:50: error: found '=' instead of statement
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:16:3: error: @identifier or @(ArgumentList) expected, not @shared
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
^
kernel.main.d:16:3: error: valid attributes are @property, @safe, @trusted, @system, @disable
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
^
kernel.main.d:16:10: error: basic type expected, not *
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
^
kernel.main.d:16:11: error: unexpected ( in declarator
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
^
kernel.main.d:16:19: error: identifier expected for template value parameter
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
^
kernel.main.d:16:19: error: found '+' when expecting ')'
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
^
kernel.main.d:16:21: error: no identifier for declarator _error_*
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
^
kernel.main.d:16:52: error: found ')' when expecting ';' following statement
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
^
kernel.main.d:16:54: error: found '=' instead of statement
@shared *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)
. gdc -c kernel.main.d -o kernel.main.o -g
kernel.main.d:12:20: error: basic type expected, not *
shared *(vidmem + i) = 0;
^
kernel.main.d:12:21: error: unexpected ( in declarator
shared *(vidmem + i) = 0;
^
kernel.main.d:12:29: error: identifier expected for template value parameter
shared *(vidmem + i) = 0;
^
kernel.main.d:12:29: error: found '+' when expecting ')'
shared *(vidmem + i) = 0;
^
kernel.main.d:12:31: error: no identifier for declarator _error_*
shared *(vidmem + i) = 0;
^
kernel.main.d:12:32: error: found ')' when expecting ';' following statement
shared *(vidmem + i) = 0;
^
kernel.main.d:12:34: error: found '=' instead of statement
shared *(vidmem + i) = 0;
^
kernel.main.d:15:9: error: basic type expected, not *
shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:10: error: unexpected ( in declarator
shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:18: error: identifier expected for template value parameter
shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:18: error: found '+' when expecting ')'
shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:20: error: no identifier for declarator _error_*
shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:47: error: found ')' when expecting ';' following statement
shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^
kernel.main.d:15:49: error: found '=' instead of statement
shared *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D
^