您尚未登录。

#1 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 请教,在主类下新建个QWidget控件后,里面再放布局及按钮,但显示不出来。 » 2018-02-01 11:41:19

Any
cgpsky 说:

toolBoxOne = QWidget()  toolBoxOne这个没有加入布局吧, 也没有指定父亲

toolBoxOne指定父控件就没问题了,我好奇的是其他按钮,及layout,我都没有指定父控件。但是一旦toolBoxOne指定父控件的话,就都可以正常显出来了。这是我现在疑惑的地方。

toolBoxOne里加入了layout布局。

-----------------------------------------------------------------------------------------------

如果不指定toolBoxOne的父控件的话,再其前边加个self,最后再调用下self.toolBoxOne.show(),也能显示出窗口及按钮。

#2 Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 请教,在主类下新建个QWidget控件后,里面再放布局及按钮,但显示不出来。 » 2018-02-01 09:16:32

Any
回复: 6

在ubuntu下用的pyqt5.9。

在主类(继承自QWidget)里,新建个toolBoxOne(也是继承自QWidget),然后toolBoxOne里放置垂直布局,垂直布局里放几个按钮。
运行后,结果什么也显示不出来。

import sys
from PyQt5.QtWidgets import QWidget,QVBoxLayout, QPushButton, QApplication

class Test(QWidget):
    def __init__(self):
        super().__init__()

        toolBoxOne = QWidget()

        btnOne = QPushButton('One')
        btnTwo = QPushButton('Two')
        btnThree = QPushButton('Three')

        layout = QVBoxLayout()
        layout.addWidget(btnOne)
        layout.addWidget(btnTwo)
        layout.addWidget(btnThree)

        toolBoxOne.setLayout(layout)
        # self.toolBoxOne.show()

        self.setWindowTitle('Test')
        # self.toolBoxOne.setGeometry(100, 100, 500, 500)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = Test()
    win.show()
    sys.exit(app.exec_())

后来发现toolBoxOne这样新建:
toolBoxOne = QWidget(self)
或者这样:
self.toolBoxOne = QWidget()  然后self.toolBoxOne.show()
就可以显示出布局了。

如果说toolBoxOne必须要指明父控件才可以显示的话,那么,为什么按钮及垂直布局,我没有指明父控件也可以正常显示呢?

#3 Re: 全志 SOC » 请教,qmake生成可执行文件的过程,可否在目标机上执行? » 2018-01-24 16:27:43

Any
bugfix 说:

我的理解,python是本地解析的, 你可以在目标机器改完就可以执行。
但是如果你想在本地弄可执行文件,就需要移植gcc到arm了。

谢谢,了解了。

#5 Re: 全志 SOC » 请教,qmake生成可执行文件的过程,可否在目标机上执行? » 2018-01-24 15:41:56

Any

我是用buildroot构建的带qt和python以及pyqt的根文件系统,构建根文件系统时,选的是PC机本地的arm-linux-gnueabihf,这应该还是算是用交叉编译器吧?
但却是可以直接运行pyqt文件。

谢谢两位。

#6 全志 SOC » 请教,arm板能否用apt-get命令安装软件? » 2018-01-24 15:05:46

Any
回复: 3

用debootstrap软件,可以创建debian或ubuntu跟文件系统,就可以用apt-get安装软件了吧?
那么用apt-get安装的就是适合目标机的版本了吗?(是否就省去了移植过程?)
如果是的话,那么是否常见的软件都能通过apt-get得到相适应得arm版本?

#7 全志 SOC » 请教,qmake生成可执行文件的过程,可否在目标机上执行? » 2018-01-24 15:02:01

Any
回复: 5

qt移植后,生成了libs文件外,还有适用于arm板的qmake程序,比如叫qmake-arm,在pc上可以用qmake-arm生成makefile文件,及生成可执行文件(在arm板上可执行)。将这个可执行文件拷贝到arm板上就能运行了。

有个疑问,这个qmake-arm生成makefile及可执行文件的过程,能否在arm板上执行呢?

之所以这么问,是因为构建了带pyqt的跟文件系统后,发现将python文件复制进去,就可以执行了。好像略过了生成可执行文件的过程。

#9 Re: 全志 SOC » 全志 F1C600 核心板 » 2018-01-13 14:44:21

Any

http://www.g.com.cn/tech/18009957/

搜到了这么个帖子,玩具里面也用上了f1c600,这个片子内置32MDDR。

#10 Re: 全志 SOC » 各位大神,如何配置buildroot用外部编译器? » 2018-01-13 14:16:37

Any

账户root密码空,登录也报错。不过这个通过选中那个选项解决了,不纠结这个了。

再次感谢,暂无问题了。

#11 Re: 全志 SOC » 各位大神,如何配置buildroot用外部编译器? » 2018-01-13 13:56:02

Any
晕哥 说:

如果我们在 buildroot 中的 toolchain 指定外部编译工具为之前在 Ubuntu 上面 apt-get 的交叉编译器,那么编译的时候则会出现错误信息:

Distribution toolchains are unsuitable for use by Buildroot,
as they were configured in a way that makes them non-relocatable,
and contain a lot of pre-built libraries that would conflict with
the ones Buildroot wants to build.


这是因为 Ubuntu 得到的交叉编译器被配置成不可重定位的,而且包含了一些与 buildroot 相冲突的库,官方解释:

Distro toolchains, i.ie. toolchains coing with distributions, will
almost invariably be unsuitable for use with Buildroot:

they are mostly non-relocatable;
their sysroot is tainted with a lot of extra libraries.
Especially, the toolchains coming with Ubuntu (really, all the Debian
familly of distros) are configured with –sysroot=/ which makes them
non-relocatable, and they already contain quite some libraries that
conflict (in any combination of version, API or ABI) with what Buildroot
wants to build (i.e. extra libraries, some not even present in
Buildroot…) but also their mere preence when Buildroot does not expect
them to be already built (so that a package would enable features when
it should not).

所以我们要自己下载交叉编译工具或者让 buildroot 自动下载。


参考链接: BeagleBone Black 从零到一 (3 Linux 镜像、initramfs、Device Tree及根文件系统)

首先感谢您的帮助。
通过之前下载安装的arm-linux-gnueabi 4.6版本,创建根文件成功了。

您的意思是说apt-get安装的交叉编译器不行,非要下载安装包安装的才可以?
如何我再下载最新版的交叉编译器的安装包,再安装,这样的话,我电脑上可能就有两个最新版的交叉编译器了,够乱的。

再问个问题,make menuconfig时,我没有选enable root login with password,结果创建根文件系统后,用串口调试,发现提示需要登录,然后我账户和密码都输入为root,结果提示不正确。
后来我选中那个选项后,设了密码,再make了一遍,才可以。
在这里想问下,没选那个选项之前,为什么登录不了?

#12 Re: 全志 SOC » 各位大神,如何配置buildroot用外部编译器? » 2018-01-13 12:53:07

Any
晕哥 说:

看能否执行这个:
sudo apt-get install gcc-4.8-arm-linux-gnueabihf

现在的问题是想用高版本的...
低版本的我通过下载tar文件也安装过。

4.6版本的编译通过了,还没下到板子上试。

#13 Re: 全志 SOC » 各位大神,如何配置buildroot用外部编译器? » 2018-01-13 11:48:51

Any
晕哥 说:

你这个工具链哪里来的?
试一试用这个命令安装的工具链 sudo apt-get install gcc-arm-linux-gnueabihf

就是这么来的...
在ubuntu14.04下用这个命令的话,默认安装的是4.8版本,但在ubunt17.10下,安装的就是7.2版本。


any@Any-Desktop-PC:/opt/buildroot-2017.11$ sudo apt-get install gcc-arm-linux-gnueabihf
[sudo] any 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
gcc-arm-linux-gnueabihf 已经是最新版 (4:7.2.0-1ubuntu1)。
下列软件包是自动安装的并且现在不需要了:
  linux-headers-4.13.0-19 linux-headers-4.13.0-19-generic linux-image-4.13.0-19-generic
  linux-image-extra-4.13.0-19-generic linux-signed-image-4.13.0-19-generic
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 2 个软件包未被升级。

#14 Re: 全志 SOC » 各位大神,如何配置buildroot用外部编译器? » 2018-01-13 11:45:58

Any
晕哥 说:

Distribution toolchains are unsuitable for use by Buildroot,
as they were configured in a way that makes them non-relocatable,
and contain a lot of pre-built libraries that would conflict with
the ones Buildroot wants to build.

我知道了, 你这个工具链不可以被重定位(non-relocatable), buildroot不接受这个工具链.

arm-linxu-gnueabihf版本太新了?
buildroot我也是下载的最新版的。
有什么解决的办法呢?除了下载低版本的交叉编译器。

#16 Re: 全志 SOC » 各位大神,如何配置buildroot用外部编译器? » 2018-01-13 11:33:50

Any
晕哥 说:

ls -l /usr/bin/arm-linux-gnueabihf-gcc
你看下文件是否存在?是否可以执行?

any@Any-Desktop-PC:/opt$ ls -l /usr/bin/arm-linux-gnueabihf-gcc
lrwxrwxrwx 1 root root 25 9月  18 22:11 /usr/bin/arm-linux-gnueabihf-gcc -> arm-linux-gnueabihf-gcc-7

#17 Re: 全志 SOC » 各位大神,如何配置buildroot用外部编译器? » 2018-01-13 11:23:48

Any

/bin不用加的,make时会自动追加/bin


试了下:
>>> toolchain-external-custom  Configuring
Cannot execute cross-compiler '/usr/bin/bin/arm-linux-gnueabihf-gcc'
package/pkg-generic.mk:224: recipe for target '/opt/buildroot-2017.11/output/build/toolchain-external-custom/.stamp_configured' failed
make: *** [/opt/buildroot-2017.11/output/build/toolchain-external-custom/.stamp_configured] Error 1

#18 Re: 全志 SOC » 各位大神,如何配置buildroot用外部编译器? » 2018-01-13 11:17:52

Any

我也遇到了类似的问题,搭车请教。
硬件环境是ilicheepi一代,系统是ubuntu17.10,想用buildroot创建根文件系统。
我打算用最新版本的交叉编译器,apt-get下载的版本是arm-linux-gnueabihf-gcc 7.2。查看了下,命令应该是在/usr/bin下,而相关库在/usr/arm-linux-gnueabihf文件夹下。

那么我在buildroot配置菜单里,toolchains是这么选的:
选择外部编译器;
选择编译器路径:/usr
选择编译器头?:arm-linux-genueabihf

然后我执行make,但仍报以下错误:
>>> toolchain-external-custom  Configuring
Distribution toolchains are unsuitable for use by Buildroot,
as they were configured in a way that makes them non-relocatable,
and contain a lot of pre-built libraries that would conflict with
the ones Buildroot wants to build.
package/pkg-generic.mk:224: recipe for target '/opt/buildroot-2017.11/output/build/toolchain-external-custom/.stamp_configured' failed
make: *** [/opt/buildroot-2017.11/output/build/toolchain-external-custom/.stamp_configured] Error 1
any@Any-Desktop-PC:/opt/buildroot-2017.11$

意思是:
交叉编译器不适合buildroot使用?
原因是它们以一种可重新定位的方式配置?
并且,包含了很多预置的库,这些库可能和buildroot想要创建的东西冲突?

#19 Re: 全志 SOC » 荔枝派Zero V3s开发板入坑记录 (TF/SD卡启动)(主线Linux,主线u-boot) » 2018-01-13 11:01:50

Any

楼主你好,想请教下buildroot使用的问题。
硬件环境是ilicheepi一代,系统是ubuntu17.10,想用buildroot创建根文件系统。有几个问题请教。
我打算用最新版本的交叉编译器,apt-get下载的版本是arm-linux-gnueabihf-gcc 7.2。
那么我在buildroot配置菜单里,toolchains这里有几个选项不知道该怎么选。
选择外部编译器;
选择编译器路径:/usr
选择编译器头?:arm-linux-genueabihf
然后我执行make,报一下错误:
as they were configured in a way that makes them non-relocatable,
and contain a lot of pre-built libraries that would conflict with
the ones Buildroot wants to build.
package/pkg-generic.mk:224: recipe for target '/opt/buildroot-2017.11/output/build/toolchain-external-custom/.stamp_configured' failed
make: *** [/opt/buildroot-2017.11/output/build/toolchain-external-custom/.stamp_configured] Error 1
any@Any-Desktop-PC:/opt/buildroot-2017.11$

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn