b2c信息网

您现在的位置是:首页 > 今日新闻 > 正文

今日新闻

linux源码编译qt6(linux源码编译qt)

hacker2022-09-28 14:55:15今日新闻91
本文目录一览:1、Linux内核源码如何编译2、

本文目录一览:

Linux内核源码如何编译

首先uname -r看一下你当前的linux内核版本

1、linux的源码是在/usr/src这个目录下,此目录有你电脑上各个版本的linux内核源代码,用uname -r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下。

2、配置内核 make menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译。

3、编译,依次执行make、make bzImage、make modules、make modules

4、安装,make install

5、.创建系统启动映像,到 /boot 目录下,执行 mkinitramfs -o initrd.img-2.6.36 2.6.36

6、修改启动项,因为你在启动的时候会出现多个内核供你选择,此事要选择你刚编译的那个版本,如果你的电脑没有等待时间,就会进入默认的,默认的那个取决于 /boot/grub/grub.cfg 文件的设置,找到if [ "${linux_gfx_mode}" != "text" ]这行,他的第一个就是你默认启动的那个内核,如果你刚编译的内核是在下面,就把代表这个内核的几行代码移到第一位如:

menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {

recordfail

gfxmode $linux_gfx_mode

insmod gzio

insmod part_msdos

insmod ext2

set root='(hd0,msdos1)'

search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5

linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff

initrd/boot/initrd.img-3.2.0-35-generic

}

当然你也可以修改 set default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法,貌似不好用。

重启过后你编译的内核源码就成功地运行了,如果出现问题,比如鼠标不能用,usb不识别等问题就好好查查你的make menuconfig这一步,改好后就万事ok了。

最后再用uname -r看看你的linux内核版本。是不是你刚下的那个呢!有没有成就感?

打字不易,如满意,望采纳。

linux中编译QT时出现:/usr/bin/ld:cannot find -lcdsd怎么解决?

在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息:

/usr/bin/ld: cannot find -lxxx

这些讯息会随着编译不同类型的source code 而有不同的结果出来如:

/usr/bin/ld: cannot find -lc

/usr/bin/ld: cannot find -lltdl

/usr/bin/ld: cannot find -lXtst

其中xxx即表示函式库文件名称,如上例的:libc.so、libltdl.so、libXtst.so。

其命名规则是:lib+库名(即xxx)+.so。

会发生这样的原因有以下三种情形:

1 系统没有安装相对应的lib

2 相对应的lib版本不对

3 lib(.so档)的symbolic link 不正确,没有连结到正确的函式库文件(.so)

对于上述三种原因有一篇文章写的很棒可参考这一篇文章的第4点:

gcc命令祥解

解决方法:

(1)先判断在/usr/lib 下的相对应的函式库文件(.so) 的symbolic link 是否正确

若不正确改成正确的连结目标即可解决问题。

(2)若不是symbolic link 的问题引起,而是系统缺少相对应的lib安装lib即可解决。

(3)如何安装缺少的lib:

以上面三个错误讯息为例:

错误1缺少libc的LIB

错误2缺少libltdl的LIB

错误3缺少libXtst的LIB

 

  以Ubuntu为例:

先搜寻相对应的LIB再进行安装的作业如:

apt-cache search libc-dev

apt-cache search libltdl-dev

apt-cache search libXtst-dev

实例:

在进行输入法gcin的Source Code的编译时出现以下的错误讯息:

/usr/bin/ld: cannot find -lXtst

经检查后发现是:

lib(.so档)的symbolic link 不正确

解决方法如下:

cd /usr/lib

ln -s libXtst.so.6 libXtst.so

如果在/usr/lib的目录下找不到libXtst.so 档,那么就表示系统没有安装libXtst的函式库。

解法如下:

apt-get install libxtst-dev

linux下QT,我编写源代码,用make编译时,总是出现一下错误

没有安装 libuuid,可以检查一下 libSM.so 的链接信息:

ldd /usr/lib/x86_64-linux-gnu/libSM.so.6

应该会提示某个库缺失,如 libuuid.so not found

发表评论

评论列表

  • 蓝殇几渡(2022-09-28 19:43:30)回复取消回复

    讯息:/usr/bin/ld: cannot find -lXtst经检查后发现是:lib(.so档)的symbolic link 不正确解决方法如下:cd /usr/libln -s libXtst.so.6 libXtst.so如果在/usr