AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / 问题

Perguntas[linux](coding)

Martin Hope
Leonardo Cavalcante
Asked: 2025-04-29 01:17:32 +0800 CST

erro de cadeia de ferramentas de ferrugem no NixOS quando instalado via nix

  • 6

Recentemente mudei para o NixOS e instalei a cadeia de ferramentas Rust (rustup, cargo, rustc) usando o gerenciador de pacotes Nix.

Entretanto, quando tento abrir minha configuração pré-configurada do Neovim, recebo o seguinte erro LSP:

Client rust-analyzer quit with exit code 1 and signal 0. Check log for errors: /home/user/.local/state/nvim/lsp.log

Ao olhar o arquivo lsp.log, vejo esta mensagem de erro: [ERROR] .../vim/lsp/rpc.lua:420 "rpc" "/run/current-system/sw/bin/rust-analyzer" "stderr" "error: Unknown binary 'rust-analyzer' in official toolchain 'stable-x86_64-unknown-linux-gnu'.\n"

A princípio, pensei que pudesse ser um problema do Neovim relacionado à forma como o Nix gerencia pacotes. Então, tentei executar o rust-analyzer diretamente do terminal, mas recebo o mesmo erro:

$ rust-analyzer
error: Unknown binary 'rust-analyzer' in official toolchain 'stable-x86_64-unknown-linux-gnu'.

Percebi que o rust-analyzer pode não ter sido instalado automaticamente com o pacote rustup do Nix, então instalei explicitamente o rust-analyzer usando o gerenciador de pacotes do Nix também.

Apesar disso, o comportamento permanece idêntico para rust-analyzer.

Executando which rust-analyzer mostra corretamente o caminho:

$ which rust-analyzer
/run/current-system/sw/bin/rust-analyzer

Mas executá-lo diretamente usando o caminho absoluto ainda produz o mesmo erro "Binário desconhecido":

$ /run/current-system/sw/bin/rust-analyzer
error: Unknown binary 'rust-analyzer' in official toolchain 'stable-x86_64-unknown-linux-gnu'.

Além disso, reinstalei todos os pacotes do Rust, incluindo rustfmt e rustc, mas agora estou enfrentando problemas semelhantes ao tentar usá-los (seja diretamente no terminal ou por meio de integrações com o Neovim). Especificamente, estou recebendo erros indicando que rustfmt e rustc não podem escolher uma versão para executar porque nenhuma foi especificada explicitamente e nenhum padrão foi configurado. Também usei o comando "which" para encontrar a localização desses binários e, mesmo depois de confirmar o caminho correto, executá-los ainda resulta nos mesmos erros.

$ rustfmt
error: rustup could not choose a version of rustfmt to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.

$ rustc
error: rustup could not choose a version of rustc to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.

Isso me leva a algumas perguntas:

  1. Considerando o erro persistente "Binário desconhecido" do rust-analyzer e esses novos erros para rustfmt/rustc, devo instalar esses componentes via rustup (por exemplo, rustup default stable, rustup component add rust-analyzer) em vez de usar o gerenciador de pacotes do Nix? Instalar componentes via rustup não contradiz de certa forma a natureza declarativa e reproduzível do NixOS, onde as dependências são preferencialmente gerenciadas pelo próprio Nix?

  2. Estou esquecendo de alguma etapa de configuração ou não entendi como o rustup (instalado via Nix) interage com componentes como rust-analyzer, rustfmt e rustc (também instalados via Nix) no NixOS?

linux
  • 1 respostas
  • 56 Views
Martin Hope
Harry
Asked: 2025-04-27 20:55:26 +0800 CST

chamar uma função (manipulador de limpeza) no término do script de shell

  • 5

É possível chamar uma função no momento do encerramento de um script de shell? Tenho alguns processos daemon em execução em segundo plano, cujo ID de processo está armazenado em um array. No momento do encerramento (por qualquer motivo), quero que uma função/manipulador de limpeza seja chamado para encerrar todos os processos daemon.

# want the below function to be called when the shell script terminates for whatsoever reason
purge () {
  for pid in ${pids[@]}; do
    kill -9 $pid
  done
}

./daemon1 > a.txt 2>&1 & pids+=($!)
./daemon2 > b.txt 2>&1 & pids+=($!)
./daemon3 > c.txt 2>&1 & pids+=($!)

for pid in ${pids[@]}; do
  echo "process: $pid"
done
linux
  • 1 respostas
  • 47 Views
Martin Hope
OutstandingBill
Asked: 2025-04-21 12:13:05 +0800 CST

O que determina o nome da porta de upload?

  • 5

Por que estou vendo a designação da porta serial mudar? Isso importa? É esperado?

Clico em "Selecionar porta para usar" no rodapé do VS Code:

barra de ferramentas mostrando o seletor de porta serial

Isso abre um menu suspenso na parte superior da janela do VSCode. Às vezes, o menu suspenso se parece com isto:

lista suspensa mostrando USB1 - Silicon Labs

Em outras ocasiões (na verdade, na maioria das vezes), fica assim:

lista suspensa mostrando ESP32

Ele alterna entre os dois últimos simplesmente clicando em "Selecionar Porta para Usar", sem nenhuma alteração na configuração física. Então:

  • Clique: o menu suspenso abre mostrando "Silicon Labs"
  • Clique: o menu suspenso fecha
  • Clique: o menu suspenso abre novamente mostrando "ESP32"

Uma vez, usando um cabo USB diferente, vi isso:

lista suspensa mostrando USB0 - Silicon Labs

Aqui está o meu platformio.ini:

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
lib_deps = bodmer/TFT_eSPI@^2.5.33
lib_ldf_mode = chain
build_flags =
  -Os
  -DUSER_SETUP_LOADED=1
  -DST7789_DRIVER=1
  -DCGRAM_OFFSET
  -DTFT_CS=5
  -DTFT_DC=23
  -DTFT_RST=18
  -DTFT_MOSI=15
  -DTFT_SCLK=13
  -DTFT_BL=4
  -DTFT_BACKLIGHT_ON=HIGH
  -DLOAD_GLCD=1
  -DLOAD_FONT2=1
  -DLOAD_FONT4=1
  -DLOAD_FONT6=1
  -DLOAD_FONT7=1
  -DLOAD_FONT8=1
  -DLOAD_GFXFF=1
  -DSMOOTH_FONT=1
  -DSPI_FREQUENCY=40000000
linux
  • 1 respostas
  • 30 Views
Martin Hope
orange
Asked: 2025-04-16 07:43:21 +0800 CST

Determinar quais variáveis ​​de ambiente foram definidas por um script

  • 5

Estou procurando uma maneira de determinar em um script quais variáveis ​​de ambiente outro script define. O script que define as variáveis ​​de ambiente ( env.sh) possui várias lógicas para recuperar os valores dessas variáveis, e eu gostaria de determinar se esses valores mudaram de uma versão do repositório para outra (mas não consigo rastrear o conteúdo do arquivo env.shonly porque ele pode permanecer inalterado, mesmo que as variáveis ​​de ambiente declaradas tenham mudado).

# main.sh

# Call env.sh to calculate a hash over the environment variables it has set (no idea how)
bash ./env.sh

# env.sh

export foo="foo" # could be changed directly in another version
export bar=`cat barversion` # content in `barversion` itself could change, but not env.sh
# ... more could be added, but we don't want to assume knowledge about this in main.sh

Um arquivo que é referenciado por env.shwhich pode mudar, o que faz com que as variáveis ​​de ambiente exportadas mudem, o que deve gerar um hash diferente

# barversion
1.0

O ideal é que a chamada de bash ./env.shin main.shnão polua o escopo da variável de ambiente in main.sh(na verdade, bash ./env.shnão precisa ser chamada assim. A linha é apenas um espaço reservado para indicar onde estou com dificuldades).

Qualquer ajuda ou indicação na direção certa seria apreciada.

linux
  • 2 respostas
  • 108 Views
Martin Hope
Nuemericon
Asked: 2025-04-16 06:46:39 +0800 CST

Não foi possível resolver o erro de sintaxe e não foi possível analisar a árvore de entrada

  • 5

Estou tentando criar um novo arquivo DTB para minha placa Nvidia Jetson Nano Developer Root. O problema principal é que o cartão SD não é reconhecido, mas tenho certeza de que isso está vindo diretamente da Nvidia. Pesquisei na internet e encontrei o repositório com os arquivos DTB essenciais: "https://github.com/forecr/forecr_nano_kernel/tree/Jetpack-4.6.6". Modifiquei o arquivo forecr_nano_kernel-Jetpack-4.6.6/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0002-p3449-0000-b00.dts conforme minhas necessidades, então adicionei /dts-v1/; à primeira linha e alterei.

sdhci@700b0000 { /* SDMMC1 for SD card */
status = "disabled";
};

para

sdhci@700b0000 { /* SDMMC1 for SD card */
status = "okay";
};

e aqui, eu tentei muito, mesmo junto com o poder do Gemini Deep Research, ChatGPT, Deepseek, Stackoverflow e fóruns da Nvidia e como eu não sou tão profundo na codificação DTC, espero conseguir alguma ajuda aqui. Meu arquivo se parece com isso: tegra210-p3448-0002-p3449-0000-b00.dts

/dts-v1/;
#include "tegra210-porg-p3448-common.dtsi"
#include "porg-platforms/tegra210-porg-camera-rbpcv3-dual-imx477.dtsi"
#include "porg-platforms/tegra210-porg-camera-rbpcv2-dual-imx219.dtsi"
#include "porg-platforms/tegra210-porg-pinmux-p3448-0002-b00.dtsi"
#include "porg-platforms/tegra210-porg-gpio-p3448-0002-b00.dtsi"
#include "porg-platforms/tegra210-porg-p3448-emc-a00.dtsi"
/ {
model = "NVIDIA Jetson Nano Developer Kit";
compatible = "nvidia,p339-0000-b00+p3448-0002-b00", "nvidia,jetson-nano", "nvidia,tegra210";
nvidia,dtsfilename = __FILE__;
sdhci@700b0600 { /* SDMMC4 for EMMC */
status = "okay";
};
sdhci@700b0000 { /* SDMMC1 for SD card */
status = "okay";
};
spi@70410000 { /* QSPI */
status = "disabled";
};
gpio@6000d000 {
/* gpio-name for 40-pin header, gpio-name given as COL(10) x ROW(20) */
gpio-line-names = "", "", "", "", "", "", "", "", "", "",
"", "", "SPI1_MOSI", "SPI1_MISO", "SPI1_SCK", "SPI1_CS0", "SPI0_MOSI", "SPI0_MISO", "SPI0_SCK", "SPI0_CS0",
"SPI0_CS1", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "GPIO13", "",
"", "", "", "", "", "", "", "", "", "",
"UART1_RTS", "UART1_CTS", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "I2S0_FS", "I2S0_DIN", "I2S0_DOUT", "I2S0_SCLK",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "GPIO07", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "GPIO12", "", "", "", "", "",
"GPIO11", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "GPIO09", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "SPI1_CS1", "", "", "", "", "", "", "";
};
};

Meu comando para tentar compilar com dtc é este:

dtc -I dts -O dtb -o hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0002-p3449-0000-b00.dtb hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0002-p3449-0000-b00.dts -i hardware/nvidia/platform/t210/porg/kernel-dts/

e recebo este erro:

Error: hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0002-p3449-0000-b00.dts:2.1-9 syntax error
FATAL ERROR: Unable to parse input tree

Eu estava olhando os arquivos que são incluídos, mas eles não parecem tão ruins para mim (ok, sou muito estúpido, mas tanto faz) e o DTC funciona, por exemplo, com o Echo'/ { compatible = "test"; };' | dtc -I dts -O dtb -o test.dtb

Meu sistema operacional para isso é

Ubuntu 18.04 (I need that for installing the drivers / Software to the nvidia nano)
I am Using an AMD Ryzen 7 5800x
Version: DTC 1.6.1-g9bb73dd8

Estou implorando por ajuda, porque esse é meu projeto de ciências :X

linux
  • 1 respostas
  • 48 Views
Martin Hope
Planeptunia
Asked: 2025-04-15 21:34:59 +0800 CST

O serviço systemd executando o script shell não executa a tarefa cat na inicialização

  • 8

Tenho um microcontrolador executando uma distribuição Linux baseada em Debian.
Tenho uma tela Nextion conectada a ela via UART na porta /dev/ttyMOD1. Tenho um script que usa stty e obtém dados da tela usando cat e os envia para tópicos mqtt. Quando executo o script a partir do próprio shell ou se reinicio o serviço após a inicialização do sistema e consigo conectar via SSH, ele funciona perfeitamente. No entanto, quando o sistema inicializa, a tarefa cat dentro do serviço não funciona por algum motivo, somente após a reinicialização do serviço.
Os arquivos de script e serviço têm permissões +x para o usuário. Preciso de ajuda para corrigir o erro cat que não funciona na inicialização.

Texto para roteiro e serviço:
serial.service

[Unit]
Description=Serial script on startup
Requires=wb-mqtt-serial.service
After=wb-mqtt-serial.service
[Service]
User=root
WorkingDirectory=/mnt/data/root
ExecStart=/mnt/data/root/serial.sh
Restart=on-failure
Type=simple
[Install]
WantedBy=multi-user.target

serial.sh

#!/bin/bash
mqtt-delete-retained "/devices/screen/#"

stty -F /dev/ttyMOD1 ospeed 9600 ispeed 9600 raw clocal -parenb -echo cs8

CR="$(echo -e '\r')"

exec 4<> /dev/ttyMOD1
/bin/cat <&4 | while :
do
    IFS="$CR" read -r line
    case "$line" in quit*)
        break
        ;;
    *)
    if [[ -n "$line" ]]; then
        mosquitto_pub -t /devices/screen/controls/raw/meta/type -r -m text
        mosquitto_pub -t /devices/screen/controls/raw -r -m "$line"
    fi

    ;;
    esac
done
linux
  • 1 respostas
  • 78 Views
Martin Hope
THX
Asked: 2025-04-11 22:56:49 +0800 CST

Como mover o diretório de configuração das unidades de usuário do systemd

  • 6

Gostaria de mover para um host Linux para todos os usuários o diretório da unidade de usuário systemd.

Os diretórios de unidades de usuário nativos em

${HOME}/.config/systemd/user

não são acessíveis ao systemd por vários motivos. Portanto, um usuário não pode usar systemd --userpara habilitar nenhuma unidade específica do usuário ou de todo o sistema.

Unidades de usuário em todo o Systemd podem, em princípio, ser implantadas por um administrador em [nome do sistema] /etc/systemd/usere podem ser iniciadas por um usuário. No entanto, ao habilitar uma unidade de usuário, o Systemd tentará criar um link simbólico para a unidade em [nome do sistema] ${HOME}/.config/systemd/user, mas isso falha, pois o diretório do usuário não está acessível ao Systemd.

Portanto, gostaria de configurar o systemd para alterar os diretórios base do usuário para algo diferente ${HOME}/.config/systemd/user, ou seja, para um caminho igualmente acessível pelo systemd e pelos usuários.

linux
  • 3 respostas
  • 27 Views
Martin Hope
lyrically wicked
Asked: 2025-04-10 15:28:45 +0800 CST

Como fazer o Gawk funcionar com arquivos encontrados pelo comando “find” com a saída correspondente da opção “-printf” disponível como uma variável?

  • 6

Quero fazer o seguinte:

  1. Encontre um conjunto específico de arquivos com o findcomando;
  2. Para qualquer arquivo encontrado, coloque a saída correspondente da -printfopção em uma variável chamada stre passe-a para o Gawk (e não imprima/use essa saída em nenhum outro lugar);
  3. Execute um programa Gawk para o arquivo correspondente. O conteúdo da strvariável correspondente deve estar disponível no programa.

Por exemplo, eu tenho o diretório chamado /d/ir. Ele contém dois arquivos, file1.txte file2.txt. Os arquivos estão na codificação UTF-8. O arquivo cujo nome é file1.txtcontém as duas linhas de texto a seguir:

A
BC 

O tamanho do arquivo é 4 bytes.

O arquivo cujo nome é file2.txtcontém as três linhas de texto a seguir:

D
EF
GHI

O tamanho do arquivo é 8 bytes.

Quero imprimir todas essas linhas, anexando o conteúdo correspondente de str(nome do arquivo, tamanho do arquivo) a cada linha. Portanto, a saída esperada é

A;d/ir/file1.txt,4
BC;d/ir/file1.txt,4
D;d/ir/file2.txt,8
EF;d/ir/file2.txt,8
GHI;d/ir/file2.txt,8

Tentei o seguinte comando:

LC_ALL=en_US.utf8; find "/d/ir" -name "file*.txt" -type f -printf "%p,%s" -execdir gawk -v str="$7" '{
print($0 ";" str)
}' "{}" \+

(Aqui eu esperava que $7, sendo um parâmetro posicional , se referisse a "%p,%s") Mas ele não imprime a saída esperada: ele mostra duas saídas de -printf(o que eu não quero que aconteça), depois cinco linhas sem os dados necessários de str.

Qual é o comando correto que resolve o problema? Observe que não quero que as saídas da -printfopção sejam mostradas/impressas fora do contexto do Gawk: quero apenas passá-las para o Gawk para que somente o programa Gawk saiba como usá-las. Se o programa Gawk não as usar, elas não devem ser mostradas em lugar nenhum.

Como o comando será usado para muitos arquivos, a maximização do desempenho e a minimização do consumo de memória são importantes.

linux
  • 4 respostas
  • 131 Views
Martin Hope
SlimDeluxe
Asked: 2025-04-09 18:20:18 +0800 CST

Definir zsh como shell padrão para Lando

  • 6

Instalei o zsh e o oh-my-zsh na minha imagem Docker que uso para o Lando, mas não consigo alterar o shell padrão ao entrar nele com lando ssh.

Oh-my-zsh está sendo instalado com o CHSH=yesparâmetro, mas parece que não tem efeito.

Tentei:

  1. Criando um .profilearquivo com o conteúdo:
export SHELL=`which zsh`
[ -z "$ZSH_VERSION" ] && exec "$SHELL" -l
  1. Criando um .bash_profilecom o conteúdo:
export SHELL=/bin/zsh
exec /bin/zsh -l

... como sugerido nesta resposta .
Mas estou sempre conectado /bin/bash.

Entretanto, quando digito zsh, entro no zshell e meu .zshrccomando é aplicado com sucesso.

Como posso consertar isso?

Aqui está o script completo de criação da imagem do Docker. Ele não contém as tentativas mencionadas acima. Eu as testei no próprio contêiner, reiniciando-o e conectando-o novamente por SSH. A imagem é pública e está disponível aqui: slimdeluxe/php:8.3-v1.1

FROM devwithlando/php:8.3-fpm-4

# Upgrade system
RUN apt-get update && apt-get -y upgrade

# Install system tools
RUN apt-get install -y tree nano

# Install locales
RUN apt-get install -y locales locales-all

# Add PHP extension helper
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

# Install PHP extensions
RUN chmod +x /usr/local/bin/install-php-extensions && sync && \
  install-php-extensions sqlsrv pdo_sqlsrv

# Install Node.js
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
RUN apt-get install -y nodejs

# Instal/update NPM
RUN npm install npm --global

# Install build dependencies for screen
RUN apt-get install -y build-essential libncurses5-dev automake texinfo wget \
    git libtool pkg-config m4 perl

# Install newer Autoconf version
RUN wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz && \
    tar -xzf autoconf-2.71.tar.gz && \
    cd autoconf-2.71 && \
    ./configure && \
    make && \
    make install && \
    cd .. && \
    rm -rf autoconf-2.71 autoconf-2.71.tar.gz

# Download, compile and install screen 5.0.0
RUN wget https://ftp.gnu.org/gnu/screen/screen-5.0.0.tar.gz && \
    tar -xzf screen-5.0.0.tar.gz && \
    cd screen-5.0.0 && \
    ./autogen.sh && \
    ./configure && \
    make && \
    make install && \
    cd .. && \
    rm -rf screen-5.0.0 screen-5.0.0.tar.gz

# Install zsh and ohmyzsh
RUN apt-get install -y zsh
USER www-data

RUN cd /var/www && \
    wget https://install.ohmyz.sh -O install.sh && \
    CHSH=yes RUNZSH=no KEEP_ZSHRC=no sh install.sh && \
    rm install.sh

# Create default .zshrc in home directory
RUN echo 'export ZSH="$HOME/.oh-my-zsh"\n\
ZSH_THEME="crunch"\n\
plugins=(git laravel)\n\
source $ZSH/oh-my-zsh.sh\n' > ~/.zshrc

USER root

linux
  • 2 respostas
  • 34 Views
Martin Hope
Thermal_insulator
Asked: 2025-04-05 17:35:44 +0800 CST

Android NDK ld.lld: erro: símbolo duplicado: _start >>> definido em crtbegin.c

  • 6

Estou tentando montar e executar um Hello Worldprograma simples no meu telefone Android. Meu laptop host é um Ubuntu 22.04sistema de 64 bits. Baixei android-ndk-r27ce extraí para minha pasta Android onde meu SDK já residia.

Este é meu hello64bit.s tirado daqui e seu caminho é/home/developer/Android/android-ndk-r27c-linux/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin


/* Data segment: define our message string and calculate its length. */
msg:
    .ascii        "Hello, ARM64!\n"
len = . - msg

.text

/* Our application's entry point. */
.globl _start
_start:
    /* syscall write(int fd, const void *buf, size_t count) */
    mov     x0, #1      /* fd := STDOUT_FILENO */
    ldr     x1, =msg    /* buf := msg */
    ldr     x2, =len    /* count := len */
    mov     w8, #64     /* write is syscall #64 */
    svc     #0          /* invoke syscall */

    /* syscall exit(int status) */
    mov     x0, #0      /* status := 0 */
    mov     w8, #93     /* exit is syscall #93 */
    svc     #0          /* invoke syscall */

Quando executo ./aarch64-linux-android27-clang -o hello64.o hello64bit.srecebo o seguinte erro:

ld.lld: error: duplicate symbol: _start
>>> defined at crtbegin.c
>>>            /home/developer/Android/android-ndk-r27c-linux/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/./../sysroot/usr/lib/aarch64-linux-android/27/crtbegin_dynamic.o:(_start)
>>> defined at /tmp/hello64bit-fb91b4.o:(.text+0x0)
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Quando altero o nome startpara start1recebo um undefined mainerro:

ld.lld: error: undefined symbol: main
>>> referenced by crtbegin.c
>>>               /home/developer/Android/android-ndk-r27c-linux/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/./../sysroot/usr/lib/aarch64-linux-android/27/crtbegin_dynamic.o:(_start_main)

O que estou fazendo errado?

linux
  • 1 respostas
  • 37 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve