rk3568系统buildroot开发笔记

编译异常

in from _bz2 import BZ2Compressor, BZ2Decompressor ModuleNotFoundError: No module named ‘_bz2’

sudo apt-get install libbz2-dev
然后删掉
rk356x_bsp_bak/rk356x_bsp/build-iot/buildroot_output/rockchip_rk3568_iot/build/host-python3-3.10.5
重新编译

ERROR: Feature ‘webengine-system-libxml2’ was enabled, but the pre-condition ‘config.unix && libs.webengine-libxml2’ failed.

查看日志,原因的编译xml2的时候没开icu

> main.cpp:4:2: error: #error libxml icu not enabled
>     4 | #error libxml icu not enabled
>       |  ^~~~~

把这个libxml2-2.9.14 项目删了重新编译过就行了

error: there are no arguments to ‘uloc_openAvailableByType’ that depend on a template parameter, so a declaration of ‘uloc_openAvailableByType’ must be available [-fpermissive]

undefined reference to `icu_70::UnicodeSet::getRangeStart(int) const’

uloc_openAvailableByType(ULOC_AVAILABLE_WITH_LEGACY_ALIASES, &status);

编译的时候缺少头文件

去这里把 intl-objects.h 头文件加上

#include “unicode/uloc.h”

加上以后发现还是不行, 看了下文件路径这次编译是来源于系统的头文件,Ubuntu18.04 icu版本低,

下载
icu70 https://github.com/unicode-org/icu/releases/tag/release-70-1
icu-release-70-1/icu4c/source$ ./configure
./configure
make -12
sudo make install
//卸载掉原来系统的icu,不然依赖会错误
apt autoremove libicu-dev

unicode/uchar.h: No such file or directory

和上面一样

web_engine_context.cpp:799:23: error: ‘struct content::ContentMainParams’ has no member named ‘setup_signal_handlers’

2024-02-27T12:10:04 799 | contentMainParams.setup_signal_handlers = false;

    content::ContentMainParams contentMainParams(m_mainDelegate.get());
#if defined(OS_WIN)contentMainParams.setup_signal_handlers = false;contentMainParams.sandbox_info = staticSandboxInterfaceInfo();
sudo chmod 666 web_engine_context.cpp

CMake support for versions ❤️.17 is deprecated since Meson 0.62.0

wget https://cmake.org/files/v3.18/cmake-3.18.0-rc1-Linux-x86_64.tar.gz
tar zxvf cmake-3.16.7-Linux-x86_64.tar.gz
sudo mv cmake-3.16.7-Linux-x86_64 /opt/cmake-3.16.7
sudo ln -sf /opt/cmake-3.16.7/bin/* /usr/bin/
cmake --version

error: Package requirements (pango >= 1.8.0 pangoxft >= 1.8.0) were not met:

/home/genvict/rk356x_bsp/buildroot/configs/rockchip/x11.config

注释掉openbox

# BR2_PACKAGE_OPENBOX=y   

make: *** No rule to make target ‘xwayland’,

大致原因就是 缺少xwayland 的库 ,这个是一个独立的packet,他在新的buildroot里面可以找到

然后把它拷贝到sdk 的buildroot里面再编译

meson.build:41:2: ERROR: Problem encountered: Failed to find matched library

Message: Building for aarch64|bifrost-g52|g13p0||x11-wayland-gbm|O3

2024-03-28T21:47:35

2024-03-28T21:47:35 …/build-iot/buildroot_output/rockchip_rk3568_iot/build/rockchip-mali-master/meson.build:41:2: ERROR: Problem encountered: Failed to find matched library

找不到 x11-wayland-gbm 这个名字的库,
原厂没有默认编译出来这个库 , 拿wayland-gdm换名字先跳过
因为想要编译Xwayland  ,那么 xorg又一定要开

libgtk3 Can’t find cairo-pdf.h

024-05-24T09:16:03 configure: error:
2024-05-24T09:16:03 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
2024-05-24T09:16:03 *** backend enabled.
BR2_PACKAGE_CAIRO=y
BR2_PACKAGE_CAIRO_PDF=y

ffmpeg 不支持rk硬件加速

# fflpay
BR2_PACKAGE_FFMPEG_FFMPEG=y
BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_NONFREE=y
BR2_PACKAGE_FFMPEG_FFPLAY=y
BR2_PACKAGE_FFMPEG_FFPROBE=y
BR2_PACKAGE_FFMPEG_XCBGRAB=y
BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
BR2_PACKAGE_FFMPEG_POSTPROC=y
#额外追加
BR2_PACKAGE_FFMPEG_EXTRACONF="--enable-version3 --enable-libdrm --enable-rkmpp"

ffmpeg ERROR: rockchip_mpp not found using pkg-config

先注释掉, 后面再打开重新编译, 属于一个 编译先后顺序的问题 , 待优化
BR2_PACKAGE_FFMPEG_EXTRACONF="--enable-version3 --enable-libdrm --enable-rkmpp"

qt5x11extras安装失败

package/libgtk3/Config.in:15:error: recursive dependency detected!

注释了libgtk3的服务编译

然后整个系统重新编译

qt5base编译异常

多线程编译导致的冲突, 再运行异常就行

运行异常

hdmi插拔变蓝屏

eth0 被重命名成了 FE0

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth0", NAME="FE0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth1", NAME="FE1"

删除这个规则


#!/bin/bashROOT_DIR="$SDK_DIR/build-$VANXOAK_CUSTOMER_NAME/buildroot_output/rockchip_rk3568_$VANXOAK_CUSTOMER_NAME/target"cd $ROOT_DIR
rm usr/lib/udev/rules.d/70-persistent-net.rulesexit 0

ubuntu22.04的 用户密码 哈希在新系统用不了

通过搜索mkpasswd了解到,他们的生成逻辑

2024-03-16T18:07:09 /usr/bin/sed -i -e s,^root:[^:]*:,root:"`/home/genvict/rk356x_bsp/build-iot/buildroot_output/rockchip_rk3568_iot/host/bin/mkpasswd -m "sha-256" "rockchip"`":, /home/genvict/rk356x_bsp/build-iot/buildroot_output/rockchip_rk3568_iot/target/etc/shadow

这个命令是使用 sed 工具在文件 /etc/shadow 中替换 root 用户的密码哈希值。

它使用了 mkpasswd 命令生成新的哈希值,然后将其插入到 /etc/shadow 文件中。

这样可以更新 root 用户的密码。

根据命令中的参数 -e s,root:[:]*:,root:“/home/genvict/rk356x_bsp/build-iot/buildroot_output/rockchip_rk3568_iot/host/bin/mkpasswd -m “sha-256” “rockchip””:,可以看出密码是由 mkpasswd 命令生成的,使用 SHA-256 算法,密码参数为 “rockchip”。

调试过程

root@genvict:/home/genvict/rk356x_bsp# /home/genvict/rk356x_bsp/build-iot/buildroot_output/rockchip_rk3568_iot/host/bin/mkpasswd -m "sha-256" "rockchip"
$5$Io6X2mN7E$JPD0hMz4yfaShTVLhdVEUBTbzhh/28Lw91h4HVm.xrB
root@genvict:/home/genvict/rk356x_bsp# /home/genvict/rk356x_bsp/build-iot/buildroot_output/rockchip_rk3568_iot/host/bin/mkpasswd -m "sha-256" "root"
$5$K335JxjbL$RyZFucOlv1Rw93D0NPe6IVFA63JM2xwuP0eeimkh/V.# 注意他每次运行的结果都不一样

开机加载eth业务

buildroot 编译出来的systemd默认用 /etc/systemd/network/01-ETH0-static.network 这种方式加载网卡信息

[Match]
Name=eth0  # 根据你的实际网卡名称修改[Network]
Address=192.168.1.100/24  # 设置静态 IP 地址和子网掩码
Gateway=192.168.1.1  # 设置网关地址
DNS=8.8.8.8  # 设置 DNS 服务器地址

如果要支持旧版那种方式 /etc/network/interfaces.d/eth0

需要启用这些服务 , 以及他的一类关联

[Unit]
Description=Raise network interfaces
Documentation=man:interfaces(5)
DefaultDependencies=no
Requires=ifupdown-pre.service
Wants=network.target
After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service ifupdown-pre.service
Before=network.target shutdown.target network-online.target
Conflicts=shutdown.target[Install]
WantedBy=multi-user.target
WantedBy=network-online.target[Service]
Type=oneshot
EnvironmentFile=-/etc/default/networking
ExecStart=/sbin/ifup -a --read-environment
ExecStop=/sbin/ifdown -a --read-environment --exclude=lo
RemainAfterExit=true
TimeoutStartSec=5min

切换Xorg异常 Failed to load /usr/lib/xorg/modules/drivers/modesetting_drv.so: /usr/lib/xorg/modules/drivers/modesetting_drv.so: undefined symbol: glamor_egl_create_textured_pixmap

看依赖是没开GLAMOR_HAS_GBM, 但其实有开,原因不明

最后从原厂debian的deb包里面各种偷龙转凤,根本原因应该是依赖问题

具体是哪个 没仔细找

weston启动异常

参考https://wayland.pages.freedesktop.org/weston/toc/running-weston.html#running-weston-from-a-systemd-service

weston
Date: 2024-03-29 CST
[14:46:37.241] weston 11.0.1https://wayland.freedesktop.orgBug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/Build: 11.0.1
[14:46:37.242] Command line: weston
[14:46:37.242] OS: Linux, 4.19.232, #2 SMP Sat Mar 16 18:54:51 CST 2024, aarch64
[14:46:37.242] Flight recorder: enabled
[14:46:37.242] warning: XDG_RUNTIME_DIR "/var/run" is not configured
correctly.  Unix access mode must be 0700 (current mode is 0755),
and must be owned by the user UID 0 (current owner is UID 0).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
/etc/xdg/weston/weston.ini.d/02-desktop.ini: "shell/background-image" from "/usr/share/weston/pattern.png" to "/usr/share/backgrounds/background_linux.jpg"
/etc/xdg/weston/weston.ini.d/02-desktop.ini: "shell/background-type" from "tile" to "scale"
/etc/xdg/weston/weston.ini.d/02-desktop.ini: "shell/panel-position" from "top" to "bottom"
[14:46:37.245] Using config file '/etc/xdg/weston/weston.ini'
[14:46:37.246] Output repaint window is 7 ms maximum.
[14:46:37.248] Loading module '/usr/lib/libweston-11/drm-backend.so'
[14:46:37.261] initializing drm backend
[14:46:37.261] Entering mirror mode.
[14:46:37.261] Trying logind launcher...
[14:46:37.262] logind: cannot find systemd session for uid: 0 -61
[14:46:37.262] logind: cannot setup systemd-logind helper error: (No data available), using legacy fallback
[14:46:37.262] fatal: your system should either provide the logind D-Bus API, or use seatd.
[14:46:37.262] fatal: failed to create compositor backend
Internal warning: debug scope 'drm-backend' has not been destroyed.

ffplay运行异常Could not initialize SDL - x11 not available

SDL库没支持X11

需要先删除 sdl ffmpeg相关的编译再重新编译

BR2_PACKAGE_FFMPEG_FFMPEG=y
BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_NONFREE=y
BR2_PACKAGE_FFMPEG_FFPLAY=y
BR2_PACKAGE_FFMPEG_FFPROBE=y
BR2_PACKAGE_FFMPEG_XCBGRAB=y
BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
BR2_PACKAGE_FFMPEG_POSTPROC=y
BR2_PACKAGE_SDL2_X11=y
BR2_PACKAGE_SDL2_KMSDRM=y
BR2_PACKAGE_SDL2_OPENGLES=y
BR2_PACKAGE_SDL2_GFX=y
BR2_PACKAGE_SDL2_IMAGE=y
BR2_PACKAGE_SDL2_MIXER=y
BR2_PACKAGE_SDL2_NET=y
BR2_PACKAGE_SDL2_TTF=y

PulseAudio 运行异常

systemctl stop pulseaudio
  1. 然后,创建所需的 cookie 文件。你可以使用 touch 命令来创建空的文件,如果文件已经存在,touch 命令不会做任何事情:
touch /var/run/pulse/.config/pulse/cookie
touch /var/run/pulse/.pulse-cookie
  1. 确保 PulseAudio 有足够的权限来访问这些文件。你可以使用 chown 命令来改变文件的所有者,假设你的 PulseAudio 服务以 ‘pulse’ 用户运行:
chown pulse:pulse /var/run/pulse/.config/pulse/cookie
chown pulse:pulse /var/run/pulse/.pulse-cookie
  1. 最后,重新启动 PulseAudio 服务:
systemctl start pulseaudio

amixer 运行异常

ALSA lib pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Access deniedamixer: Mixer attach default error: Connection refused

确保 PulseAudio 服务正在运行

在命令行中输入 pulseaudio --check,如果没有返回任何东西,那就表示 PulseAudio 服务正在运行。
如果返回错误信息,那就代表 PulseAudio 服务没有运行,你可以尝试使用 pulseaudio --start 命令启动它。

检查用户是否有权限访问 PulseAudio

在命令行中输入 groups 查看当前用户所在的用户组。如果列表中没有 pulse-access 或 audio,那就表示当前用户没有访问 PulseAudio 的权限。
你可以使用 usermod -aG pulse-access your_username 或 usermod -aG audio your_username 命令把用户添加到这些组。

如果以上方法都不行,你可以尝试使用 ALSA 而不是 PulseAudio。

webengine是否支持webrtc

测试方案

用程序访问https://zegodev.github.io/webrtcDemo-js/webrtccheck/index.html#

点击测试

程序源码

需要针对自己的文件路径做调整

TEMPLATE = app
QT = core gui
SOURCES = main.cppQT += widgets 
QT += webengine 
QT += webenginewidgets
INCLUDEPATH += /home/genvict/rk356x_bsp/build-iot/buildroot_output/rockchip_rk3568_iot/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/qt5/QtWebEngineWidgets
#include <QApplication>
#include <QWebEngineView>
#include <QWebEngineProfile>
#include <QWebEnginePage>
#include <QWebEngineSettings>int main(int argc, char *argv[])
{QApplication app(argc, argv);QWebEngineView* view = new QWebEngineView();QWebEngineProfile* profile = new QWebEngineProfile(view);QWebEnginePage* page = new QWebEnginePage(profile, view);QObject::connect(profile, &QWebEngineProfile::downloadRequested, [](QWebEngineDownloadItem* download) {download->accept();});QObject::connect(page, &QWebEnginePage::featurePermissionRequested, [page](const QUrl &securityOrigin, QWebEnginePage::Feature feature) {if (feature == QWebEnginePage::MediaAudioCapture ||feature == QWebEnginePage::MediaVideoCapture) {page->setFeaturePermission(securityOrigin, feature, QWebEnginePage::PermissionGrantedByUser);}});QWebEngineSettings::globalSettings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);view->setPage(page);QString url = "https://zegodev.github.io/webrtcDemo-js/webrtccheck/index.html#";if (argc > 1) {if (QString(argv[1]) != "--no-sandbox") {url = argv[1];}}view->load(QUrl(url));QObject::connect(view, &QWebEngineView::loadFinished, [view](bool ok) {if (ok) {view->show();} else {// Handle the error}});return app.exec();
}
#!/bin/bashsource  /home/genvict/rk356x_bsp/build-iot/buildroot_output/rockchip_rk3568_iot/host/environment-setup qmakemake

解决方法

hdmi 原生接口空载上电无显示, 默认激活

enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi,void *data)
{//修改为默认连接状态return connector_status_connected;return hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_HPD ?connector_status_connected : connector_status_disconnected;
}

系统默认功放被USB摄像头插入后替换

固定rockchiprk809co为默认声卡

#!/bin/bash# 使用 awk 从 /proc/asound/rockchiprk809co/pcm0p/info 文件中获取 id
id=$(cat /proc/asound/rockchiprk809co/pcm0p/info | awk 'NR==1 {print $2}')# 将 id 写入 /etc/asound.conf 文件
echo "defaults.ctl.card $id" > /etc/asound.conf
echo "defaults.pcm.card $id" >> /etc/asound.conf
echo "defaults.timer.card $id" >> /etc/asound.confamixer cset name='Playback Path' SPK_HP

ldconfig not find

config BR2_PACKAGE_GLIBC_UTILSbool "Install glibc utilities"helpEnabling this option will compile and install the getconf,ldconfig, ldd and locale glibc utilities for the target.

Systemd 系统环境变量加载

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See systemd-system.conf(5) for details.[Manager]
#LogLevel=info
#LogTarget=journal-or-kmsg
#LogColor=yes
#LogLocation=no
#DumpCore=yes
#ShowStatus=yes
#CrashChangeVT=no
#CrashShell=no
#CrashReboot=no
#CtrlAltDelBurstAction=reboot-force
#CPUAffinity=1 2
#NUMAPolicy=default
#NUMAMask=
#RuntimeWatchdogSec=0
#RebootWatchdogSec=10min
#ShutdownWatchdogSec=10min
#KExecWatchdogSec=0
#WatchdogDevice=
#CapabilityBoundingSet=
#NoNewPrivileges=no
#SystemCallArchitectures=
#TimerSlackNSec=
#StatusUnitFormat=description
#DefaultTimerAccuracySec=1min
#DefaultStandardOutput=journal
#DefaultStandardError=inherit
#DefaultTimeoutStartSec=90s
DefaultTimeoutStopSec=5s
#DefaultTimeoutAbortSec=
#DefaultRestartSec=100ms
#DefaultStartLimitIntervalSec=10s
#DefaultStartLimitBurst=5
#DefaultEnvironment=
#DefaultCPUAccounting=no
#DefaultIOAccounting=no
#DefaultIPAccounting=no
#DefaultBlockIOAccounting=no
#DefaultMemoryAccounting=yes
#DefaultTasksAccounting=yes
#DefaultTasksMax=
#DefaultLimitCPU=
#DefaultLimitFSIZE=
#DefaultLimitDATA=
#DefaultLimitSTACK=
#DefaultLimitCORE=
#DefaultLimitRSS=
#DefaultLimitNOFILE=1024:524288
#DefaultLimitAS=
#DefaultLimitNPROC=
#DefaultLimitMEMLOCK=
#DefaultLimitLOCKS=
#DefaultLimitSIGPENDING=
#DefaultLimitMSGQUEUE=
#DefaultLimitNICE=
#DefaultLimitRTPRIO=
#DefaultLimitRTTIME=DefaultEnvironment=DISPLAY=:0 QT_QPA_PLATFORM=xcb QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/qt5/plugins/platforms QT_QPA_FONTDIR=/usr/share/fonts QML2_IMPORT_PATH=/usr/lib/aarch64-linux-gnu/qt5/qml QTWEBENGINEPROCESS_PATH=/usr/lib/aarch64-linux-gnu/qt5/libexec/QtWebEngineProcess

journal日志切割

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.[Journal]
Storage=auto
Compress=yes
Seal=yes
#SplitMode=uid
SyncIntervalSec=1m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
SystemMaxUse=250M
#SystemKeepFree=
SystemMaxFileSize=50M
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
#ReadKMsg=yes

用户环境变量加载

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/genvict/bin"
export LD_LIBRARY_PATH="/usr/local/lib"export DISPLAY=:0export QT_QPA_PLATFORM=xcb
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/qt/plugins/platforms
export QT_QPA_FONTDIR=/usr/share/fonts
export QML2_IMPORT_PATH=/usr/qml
export QTWEBENGINEPROCESS_PATH=/usr/libexec/QtWebEngineProcess

libqxcb库缺失

qt5x11extras 没有编译出来

aplay -l 没有rockchiprk809co声卡

**** List of PLAYBACK Hardware Devices ****

card 0: rockchiphdmi [rockchip,hdmi], device 0: rockchip,hdmi i2s-hifi-0 [rockchip,hdmi i2s-hifi-0]

Subdevices: 1/1

Subdevice #0: subdevice #0

内核dts没开

修改分区表后系统死机

TIME ] Timed out waiting for device /dev/disk/by-partlabel/oem.

[DEPEND] Dependency failed for /oem.

[DEPEND] Dependency failed for File…on /dev/disk/by-partlabel/oem.

[ TIME ] Timed out waiting for device ▒▒ev/disk/by-partlabel/userdata.

[DEPEND] Dependency failed for File…ev/disk/by-partlabel/userdata.

[DEPEND] Dependency failed for /userdata.

去/etc/fstab 去掉 oem 和 userdata

system开机加载,他们发现缺失所以卡顿了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/423764.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python学习第九节:爬虫实战-抓取地址库

python学习第九节&#xff1a;爬虫实战-抓取地址库 话不多说&#xff0c;直接上代码&#xff1b;下面的代码是从统计局抓取地址库并保存为json格式和excel格式。大家拿到代码直接运行即可。 #codingutf-8 #加入上面这行代码表示可以在下面代码中包含中文 import bs4 #网页解析…

《python语言程序设计》2018版第8章第14题金融:信用卡号合法性 利用6.29题

一、之前6.29题我做的代码 这是用数字来进行分辨的 is_txt 4383576018402626 #合法def split_the_data_even(vis_n):current_a1 vis_n // 10000a_t1 vis_n % 10000# print("1th", a_t1)a_t2 current_a1 % 10000# print("2th", a_t2)current_a3 curre…

supermap icilent3d for cesium加载地形并夸大地形

先看效果图 这是没有夸张之前的都江堰 这是夸大五倍后的都江堰 下面展示代码 主要就是加载supermaponline的skt地形然后夸大 <template><div class"PartOneBox"><div id"cesiumContainer"></div></div> </template>…

20240915 每日AI必读资讯

国家网信办发布《人工智能生成合成内容标识办法&#xff08;征求意见稿&#xff09;》 - 要求所有的AI生成内容都要打标&#xff0c;包括文字、图像、视频、音频… - 文本内容要插入标识符提醒&#xff0c;音频内容要在里面插入提示音 - 对创作者不太友好&#xff0c;对平台…

react crash course 2024 (1)理论概念

state的作用 react hooks 而无需写一个class jsx 样式用 spa

并发锁机制之深入理解synchronized

1. i/i--引起的线程安全问题分析 思考&#xff1a; 两个线程对初始值为 0 的静态变量一个做自增&#xff0c;一个做自减&#xff0c;各做 5000 次&#xff0c;结果是 0 吗&#xff1f; public class SyncDemo {private static int counter 0;public static void increment()…

最优化理论概述

目录 1. 最优化理论的原理 2. 最优化问题的分类 1. 按目标函数的性质分类 2. 按变量的性质分类 3. 按约束条件分类 4. 按时间维度分类 5. 按不确定性分类 6. 按决策变量的维度分类 3. 常用的最优化方法 1. 梯度类优化算法 2. 约束优化算法 3. 启发式算法 4. 线性规…

C++笔记之map的实用操作

C++笔记之map的实用操作 文章目录 C++笔记之map的实用操作1.初始化1.1.使用列表初始化1.2.使用 `insert` 方法1.3.使用 `emplace` 方法1.4.复制构造1.5.移动构造2.赋值2.1.列表赋值2.2.插入元素2.3.批量插入3.取值3.1.使用 `[]` 操作符3.2.使用 `at()` 方法3.3.检查键是否存在3…

Linux 35.5 + JetPack v5.1.3@CUDA安装和版本切换

Linux 35.5 JetPack v5.1.3CUDA安装和版本切换 1. 源由2. 现象3. 分析3.1 看本质3.2 善动脑3.3 笔记回忆3.4 底层思考3.5 多版本 4. 版本切换5. 总结 1. 源由 最近遇到一些CUDA编程&#xff0c;以及编译链接过程出现一些版本不匹配的问题。 首先&#xff0c;申明下&#xff…

我知道,不少人会有质疑,为什么当地的医生,会想不到是这种病?

[toc] #一、冷风机如果 ##1.和人合计 ##2.愉快教育 ##3.亏教育课 #二、让红薯粉丝 #三、发个通过 #四、福娃热风 一、冷风机如果 据长三角铁路消息&#xff0c;受第13号台风“贝碧嘉”影响&#xff0c;为确保铁路运输安全和旅客出行安全&#xff0c;铁路部门计划对9月1…

【新时代概论】新时代概论书目的结构(LP)

文章目录 前言一、结构导论第一章、新时代坚持和发展中国特色社会主义第二章、以中国式现代化全面推进中华民族伟大复兴第三章、坚持党的全面领导第四章、坚持以人民为中心第五章、全面深化改革开放第六章、推动高质量发展第七章、社会主义现代化建设的教育、科技、人才战略第八…

官宣:Zilliz 在亚马逊云科技中国区正式开服!

01 Zilliz Cloud 正式上线亚马逊云科技宁夏区服务 9 月 4 日&#xff0c;Zilliz 正式官宣&#xff0c; Zilliz Cloud 正式上线亚马逊云科技在宁夏区的云服务。至此&#xff0c;Zilliz Cloud 已实现全球 5 大云 19 个节点 的全覆盖&#xff0c;成为全球首个提供海内外多云服务的…

【devops】devops-git之介绍以及日常使用

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

位段、枚举、联合

位段 在一个结构体中以位&#xff08;最小单位&#xff09;为单位来指定其成员所占的内存长度。位段成员名后面有一个冒号&#xff0c;冒号后有一个数字&#xff08;这个数字是小于等于这个成员所占的位&#xff09;。 typedef struct S {char a : 2;//8char b : 8;//8char c …

java重点学习-线程池的使用和项目案例

十一 线程池的使用场景 你们项目哪里用到了多线程 批量导入:使用了线程池CountDownLatch批量把数据库中的数据导入到了ES(任意)中&#xff0c;避免OOM数据汇总:调用多个接口来汇总数据&#xff0c;如果所有接口(或部分接口)的没有依赖关系&#xff0c;就可以使用线程池future来…

Fiddler下载安装及汉化

直接上干货 1.下载地址&#xff1a; 通过百度网盘分享的文件&#xff1a;fiddler汉化&#xff0c;FiddlerSetup抓包.exe等2个文件 链接&#xff1a;https://pan.baidu.com/s/12JBZO8z0mDHlHM1DCL365g 提取码&#xff1a;1111 2.fiddler安装&#xff1a; 注意安装位置 3.汉化&…

个性化、持续性阅读 学生英语词汇量自然超越标准

2024年秋季新学年&#xff0c;根据2022版《义务教育英语课程标准》全新修订的英语新版教材开始投入使用&#xff0c;标志着我国英语教育迈入了一个以应用为导向、注重综合素养培养的新阶段。 新版教材的变革不仅仅是一次词汇量的简单增加&#xff0c;更是一场从应试到应用的深…

[数据集][目标检测]河道垃圾检测数据集VOC+YOLO格式2274张8类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2274 标注数量(xml文件个数)&#xff1a;2274 标注数量(txt文件个数)&#xff1a;2274 标注…

使用vue2+axios+chart.js画折线图 ,出现 RangeError: Maximum call stack size exceeded 错误

目录 效果图 解决方案 修正要点 效果图 修改前App.vue代码&#xff1a; <template><div id"app"><canvas id"myChart"></canvas></div> </template><script> import axios from axios; import { Chart, regis…

QT多线程编程(基础概念以及示例)

QT多线程编程 前言&#xff1a;基础夯实&#xff1a;一:多线程概述二:QT多线程的使用1. 继承QThread类2. 继承QObject类3. QtConcurrent模块 三:线程同步与通信四:线程安全五:线程管理六:总结 效果展示&#xff1a;实现功能&#xff1a;核心代码&#xff1a;mainwindow.hmythre…