如何编译Ubuntu的厄运?

如何编译Ubuntu的厄运?,第1张

概述如何编译Ubuntu的厄运

我试图编译原始厄运的源代码作为学习C的一种方法。我从github下载了它,并在i_vIDeo.c第49行(errnos.h – > errno.h)中修复了一个明显的错误。

我现在得到这个:

m_misc.c:257:5: warning: initialization from incompatible pointer type [enabled by default] m_misc.c:257:5: warning: (near initialization for 'defaults[14].location') [enabled by default] m_misc.c:257:5: error: initializer element is not computable at load time m_misc.c:257:5: error: (near initialization for 'defaults[14].defaultvalue') m_misc.c:264:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:264:5: error: initializer element is not constant m_misc.c:264:5: error: (near initialization for 'defaults[16].defaultvalue') m_misc.c:265:37: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:265:5: error: initializer element is not constant m_misc.c:265:5: error: (near initialization for 'defaults[17].defaultvalue') m_misc.c:288:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:288:5: error: initializer element is not constant m_misc.c:288:5: error: (near initialization for 'defaults[31].defaultvalue') m_misc.c:289:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:289:5: error: initializer element is not constant m_misc.c:289:5: error: (near initialization for 'defaults[32].defaultvalue') m_misc.c:290:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:290:5: error: initializer element is not constant m_misc.c:290:5: error: (near initialization for 'defaults[33].defaultvalue') m_misc.c:291:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:291:5: error: initializer element is not constant m_misc.c:291:5: error: (near initialization for 'defaults[34].defaultvalue') m_misc.c:292:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:292:5: error: initializer element is not constant m_misc.c:292:5: error: (near initialization for 'defaults[35].defaultvalue') m_misc.c:293:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:293:5: error: initializer element is not constant m_misc.c:293:5: error: (near initialization for 'defaults[36].defaultvalue') m_misc.c:294:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:294:5: error: initializer element is not constant m_misc.c:294:5: error: (near initialization for 'defaults[37].defaultvalue') m_misc.c:295:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:295:5: error: initializer element is not constant m_misc.c:295:5: error: (near initialization for 'defaults[38].defaultvalue') m_misc.c:296:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:296:5: error: initializer element is not constant m_misc.c:296:5: error: (near initialization for 'defaults[39].defaultvalue') m_misc.c:297:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] m_misc.c:297:5: error: initializer element is not constant m_misc.c:297:5: error: (near initialization for 'defaults[40].defaultvalue') m_misc.c: In function 'M_LoadDefaults': m_misc.c:395:5: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] make: *** [linux/m_misc.o] Error 1

在包含types转换的行的声明中,在m_misc.c文件中:

default_t defaults[] = { {"mouse_sensitivity",&mouseSensitivity,5},{"sfx_volume",&snd_SfxVolume,8},{"music_volume",&snd_MusicVolume,{"show_messages",&showMessages,1},#ifdef norMALUNIX {"key_right",&key_right,KEY_RIGHTARROW},{"key_left",&key_left,KEY_leftARROW},{"key_up",&key_up,KEY_UPARROW},{"key_down",&key_down,KEY_DOWNARROW},{"key_strafeleft",&key_strafeleft,','},{"key_straferight",&key_straferight,'.'},{"key_fire",&key_fire,KEY_RCTRL},{"key_use",&key_use,' '},{"key_strafe",&key_strafe,KEY_RALT},{"key_speed",&key_speed,KEY_RSHIFT},// UNIX Hack,to be removed. #ifdef SNDSERV {"sndserver",(int *) &sndserver_filename,(int) "sndserver"},{"mb_used",&mb_used,2},#endif #endif #ifdef liNUX {"mousedev",(int*)&mousedev,(int)"/dev/ttyS0"},{"mousetype",(int*)&mousetype,(int)"microsoft"},#endif {"use_mouse",&usemouse,{"mouseb_fire",&mousebfire,0},{"mouseb_strafe",&mousebstrafe,{"mouseb_forward",&mousebforward,{"use_joystick",&usejoystick,{"joyb_fire",&joybfire,{"joyb_strafe",&joybstrafe,{"joyb_use",&joybuse,3},{"joyb_speed",&joybspeed,{"screenblocks",&screenblocks,9},{"detaillevel",&detailLevel,{"snd_channels",&numChannels,{"usegamma",&usegamma,{"chatmacro0",(int *) &chat_macros[0],(int) HUSTR_CHATMACRO0 },{"chatmacro1",(int *) &chat_macros[1],(int) HUSTR_CHATMACRO1 },{"chatmacro2",(int *) &chat_macros[2],(int) HUSTR_CHATMACRO2 },{"chatmacro3",(int *) &chat_macros[3],(int) HUSTR_CHATMACRO3 },{"chatmacro4",(int *) &chat_macros[4],(int) HUSTR_CHATMACRO4 },{"chatmacro5",(int *) &chat_macros[5],(int) HUSTR_CHATMACRO5 },{"chatmacro6",(int *) &chat_macros[6],(int) HUSTR_CHATMACRO6 },{"chatmacro7",(int *) &chat_macros[7],(int) HUSTR_CHATMACRO7 },{"chatmacro8",(int *) &chat_macros[8],(int) HUSTR_CHATMACRO8 },{"chatmacro9",(int *) &chat_macros[9],(int) HUSTR_CHATMACRO9 } };

这是否与现代编译器不兼容? 有没有人设法通过它?

在linux内核编译中将.o文件放在单独的文件夹中

用特定的OpenSSL版本构buildOpenVPN

编译openssl 1.0.0e,“openssl版本”仍然返回0.9.8k ..我做错了什么?

摆脱“gcc – / usr / bin / ld:warning lib找不到”

从源代码编译PHP后,仍然需要开发库?

使用MSVC2010使用/ MT编译静态QT库

Cython编译为exe,windows

如何使libusb库对另一个程序可见?

编译错误:Fprintf抛出parsing错误

在windows上编译win32 API c程序(通过命令行)的例子

如果您使用的是64位编译器,请尝试使用-m32标志,并将其与-L/usr/lib/i386-linux-gnu/用于32位库链接。

顺便说一句,如果你将编译这个源代码,你仍然会遇到一个运行问题,因为这个版本需要320×200的屏幕分辨率。 否则它不会运行。

我正在开发DOOM的SDL端口,所以您可以尝试从GitHub获取我的源代码。

您将需要安装SDL库才能运行它。 另外,那里没有声音。

至于初始化列表错误,就在那里 – 初始化列表中的元素不是常量表达式。 看看这个:

{"mousedev",

我猜mousedev是另一个变量。 你有它。

我现在不记得了,但我认为初始化列表中的非常量是在后来的C标准之一中引入的。 尝试使编译器坚持不同的 – 我会用C99的一个镜头。 http://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.HTML#C-Dialect-Options

关于整数与指针大小有关的一个是由Alex正确回答的。

总结

以上是内存溢出为你收集整理的如何编译Ubuntu的厄运?全部内容,希望文章能够帮你解决如何编译Ubuntu的厄运?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1275500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存