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 / 问题

All perguntas(coding)

Martin Hope
Minh Long Vu
Asked: 2025-04-09 18:22:53 +0800 CST

Quarkus: módulo de terceiros não incluído no classpath da imagem nativa

  • 5

Estou usando simplejavamail no meu aplicativo Quarkus. Tenho a biblioteca e seu módulo batch incluídos no meu pom.xml:

    <dependency>
      <groupId>org.simplejavamail</groupId>
      <artifactId>simple-java-mail</artifactId>
      <version>8.12.4</version>
    </dependency>
    <dependency>
      <groupId>org.simplejavamail</groupId>
      <artifactId>batch-module</artifactId>
      <version>8.12.4</version>
    </dependency>

Meu código funciona bem no ambiente de desenvolvimento, mas depois de construir a imagem nativa, recebo este erro:

org.simplejavamail.internal.moduleloader.ModuleLoaderException: Batch module not found, make sure it is on the classpath (https://github.com/bbottema/simple-java-mail/tree/develop/modules/batch-module)
        at org.simplejavamail.internal.moduleloader.ModuleLoader.loadModule(ModuleLoader.java:133)
        at org.simplejavamail.internal.moduleloader.ModuleLoader.loadBatchModule(ModuleLoader.java:95)
        at org.simplejavamail.mailer.internal.MailerGenericBuilderImpl.determineDefaultExecutorService(MailerGenericBuilderImpl.java:674)
        at org.simplejavamail.mailer.internal.MailerGenericBuilderImpl.buildOperationalConfig(MailerGenericBuilderImpl.java:319)
        at org.simplejavamail.mailer.internal.MailerImpl.<init>(MailerImpl.java:128)
        at org.simplejavamail.mailer.internal.MailerRegularBuilderImpl.buildMailer(MailerRegularBuilderImpl.java:212)

Tentei registrar a classe BatchModule para reflexão, mas sem sucesso:

import io.quarkus.runtime.annotations.RegisterForReflection;
import org.simplejavamail.internal.modules.BatchModule;

@RegisterForReflection(targets = {
  BatchModule.class
})
public class LibReflectionRegister {
}

Como posso corrigir isso?

PS: Não sei se esse problema está relacionado a essa propriedade que defini para resolver outro erro de compilação:

quarkus:
  native:
    additional-build-args: "--initialize-at-run-time=org.simplejavamail.internal.util.MiscUtil"
java
  • 1 respostas
  • 36 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
Lance
Asked: 2025-04-09 17:17:00 +0800 CST

Entidade do EF Core para autodetectar que seus dados foram carregados do banco de dados

  • 5

Estou usando o EF Core v9.0.3 com WPF. Como posso fazer com que a entidade detecte quando seus dados foram carregados do banco de dados?

Quero preencher um proxy não mapeado List<>na entidade a partir de uma propriedade de string, que é delimitada, quando recebe seus dados do banco de dados.

O construtor é muito antigo e PropertyChangednão dispara quando os dados são carregados nas propriedades do banco de dados.

Quando a lista de proxy é vinculada à interface do usuário, a propriedade string ainda não foi preenchida, então não consigo criar a lista em seu get.

Exemplo abaixo. Obviamente, posso chamar a PopulateFKLookupsUI()partir do modelo de visualização depois que a entidade for criada pelo contexto de dados, mas gostaria que a entidade a manipulasse.

public class PretendEntityWithProxyCollection : FwObservableObject
{
    public PretendEntityWithProxyCollection() 
    {
        FKLookupsUI.CollectionChanged += FKLookupsUI_CollectionChanged;
        FKLookupsUI.ItemPropertyChanged += FKLookupsUI_ItemPropertyChanged;
    }

    private string? _fKLookups;

    [Browsable(false)]
    public string? FKLookups
    {
        get { return _fKLookups; }
        set { CheckPropertyChanged(ref _fKLookups, value); }
    }

    [NotMapped]
    public FwObservableItemCollection<FKLookup> FKLookupsUI { get; set; } = [];

    #region Private Methods

    private void FKLookupsUI_ItemPropertyChanged(object? sender, PropertyChangedEventArgs e)
    {
        UpdateFKLookups();
    }

    private void FKLookupsUI_CollectionChanged(object? sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
    {
        UpdateFKLookups();
    }

    private void UpdateFKLookups()
    {
        if (!populating)
        {
            List<string> fkLookupsArray = [];

            foreach (var item in FKLookupsUI.Where(x => x.Deleted == false))
            {
                fkLookupsArray.Add(item.ToString());
            }

            FKLookups = string.Join(":", fkLookupsArray);
        }
    }

    private bool populating;

    public void PopulateFKLookupsUI()
    {
        populating = true;

        foreach (var item in FKLookups.Split(':', StringSplitOptions.RemoveEmptyEntries))
        {
            FKLookupsUI.Add(new FKLookup() { ForeignKey = item });
        }

        populating = false;
    }

    #endregion //Private Methods
}
c#
  • 2 respostas
  • 49 Views
Martin Hope
Christian Stadelmann
Asked: 2025-04-09 17:04:56 +0800 CST

Com o Clang ou compiladores similares, é possível transformar apenas alguns avisos em erros?

  • 12

Avisos do compilador geralmente fornecem dicas úteis para erros comuns de programação. Muitas vezes, recomenda-se transformar avisos do compilador em erros (por exemplo, aqui ). Na minha experiência, isso é útil para evitar que avisos sejam ignorados, especialmente em bases de código maiores ou em sistemas de compilação automatizados. No entanto, alguns avisos são úteis como avisos e não podem ser transformados em erros, seja porque podem ser falsos positivos ou porque a base de código não pode ser adaptada imediatamente, mas isso leva algum tempo de transição.

Como solução alternativa, eu poderia compilar o mesmo código duas vezes:

  1. Uma execução com a maioria ou todos os avisos habilitados (por exemplo, -Wextra), mas sem transformá-los em erros (ou seja, sem -Werror)
  2. Uma segunda execução com um conjunto menor de avisos, mas com configurações pedantes (ou seja, com a -Werroropção de linha de comando)

Dessa forma, o projeto de código se beneficiaria de mais avisos do que poderia corrigir atualmente.

Existe uma maneira de fazer isso diretamente, ou seja, com uma única etapa de compilação, não duas?

Li algumas menções à -Wno-error=[name]opção em outra pergunta e ela mal foi mencionada na referência de linha de comando mais recente do clang , mas não tenho detalhes. Caso eles forneçam uma solução para a minha pergunta, você poderia explicar melhor o que ela faz e/ou fornecer um link para onde está documentada?

c++
  • 4 respostas
  • 196 Views
Martin Hope
Agnes Nycs
Asked: 2025-04-09 16:53:33 +0800 CST

Como posso dar a possibilidade de chamar vários métodos opcionais em um parâmetro em um construtor em JAVA

  • 5

Gostaria de criar um construtor com um parâmetro opcional, para evitar fornecer Strings o tempo todo, porque preciso usar o construtor umas mil vezes, então gostaria de chamar métodos para alguns parâmetros, como cor, com as mesmas 10 opções todas as vezes.

Não quero digitar constantemente "prata", "prata antiga", "bronze antigo", "ouro rosa" etc. com "", e ter que digitar tudo por extenso. Eu adoraria ter o parâmetro pré-condicionado com métodos que alterassem a cor da minha String de acordo com o método que acabei de chamar.

Aqui está o construtor na classe Charms:

public Charms(String charmName, //here is the place for the color// , String charmMaterial, double bulkPrice, int piecesPerBulk) {
        this.charmName = charmName;
        this.charmColor = //here is the place for the methods where I want to have the options//;
        this.charmMaterial = charmMaterial;
        this.bulkPrice = bulkPrice;
        this.piecesPerBulk = piecesPerBulk;
        this.pricePerPiece = bulkPrice / piecesPerBulk;
    }

Aqui estão alguns dos métodos que eu adoraria que funcionassem na classe Optionc:

private String color;

public void silverColor(String color) {
        this.color = "silver";
    }

public void ancientSilverColor(String color) {
        this.color = "ancient silver";
    }

public void antiqueBronzeColor (String color){
        this.color = "antique bronze";
    }

public void roseGoldColor(String color) {
        this.color = "rose gold";
    }

Então, quando eu chamo isso na classe Components:

Charms sewingCharms = new Charms("sewingCharms", //here i just start to call whichever method I want for color and it runs smoothly//, "metal", 785.69, 20);

Eu estava tentando descobrir se precisava de um switch para os métodos para chamá-los em um lugar ou de um if-else encapsulado em um construtor ou outro método, mas parece que não funciona para mim e agora meu cérebro está sobrecarregado.

Obrigado por qualquer ajuda, críticas gentis são bem-vindas, por favor, não me humilhem, ainda estou aprendendo e tentando.

java
  • 4 respostas
  • 92 Views
Martin Hope
Michi
Asked: 2025-04-09 16:48:16 +0800 CST

Transpor valores de linha para coluna e calcular a diferença entre os valores

  • 4
0 UM B C D E F G H EU
1 Q1 Q2 3º trimestre 4º trimestre Q5
2 Produto 100 400 600 200 900
3 Produto
4 Q1 100
5 Q2 300
6 3º trimestre 200
7 4º trimestre -400
8 Q5 700

Quero Range H3:I8transpor os valores de Range A1:F2.
Para a transposição, uso esta fórmula TRANSPOSE(A1:F2).

Entretanto, não sei como incluir o cálculo da diferença entre os números na Range B2:F2seguinte fórmula de transposição:

I4 = 100 - 0 = 100
I5 = 400-100 = 300
I6 = 600-400 = 200
I7 = 200-600 = -400
I8 = 900-200 = 700

Você tem alguma ideia?

Nota: Sempre haverá exatamente uma linha para transpor.

excel
  • 1 respostas
  • 55 Views
Martin Hope
Afrose ahamed
Asked: 2025-04-09 16:01:47 +0800 CST

como corrigir o problema de pilha z-index

  • 4

Minha imagem de fundo está sobrepondo o card::after, estou tentando atribuir card::after atrás da classe card, mas quando a imagem de fundo é renderizada, não estou vendo a classe card::after, adicionei z-index:0 para .background-image, z-index:1 para .card e z-index:-1 para a pseudo classe .card::after

Como eu preciso que o fundo fique atrás de .card::after e .card::after fique atrás do cartão. Consulte a imagem e o código abaixo

antes da imagem de fundo ser renderizada, ela mostra .card::after como esperado insira a descrição da imagem aqui

Depois que a imagem de fundo é renderizada, ela não aparece .card::after insira a descrição da imagem aqui

.image-wrapper {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;  
}

.background-img {
    width: 100vw;
    height: 100vh;
    background-size: 100%;
    z-index: 0;
}

.overlay-text {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 3rem;
    font-weight: 900;
    text-shadow: 1px 1px 2px #000;
    border: 1px solid #FF5733;
    background-color: #FF5733;
    padding: 0 6rem;
    border-radius: 10px;
}

.sticky-notes {
    position: absolute;
    top: 25%;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
    padding: 20px;
    max-width: 1600px; /* Controls how wide the card row is */
    justify-content: center;
    cursor: pointer;
}
.card {
    width: 250px;
    height: 250px;
    color: white;
    border-radius: 12px;
    padding: 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-family: 'Arial', sans-serif;
    position: relative;
    z-index: 2; /* Ensures the card is above the background image */
}

.card::after{
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border-radius: 14px; /* slightly more than the card to match the curve */
    background: red;
    z-index: -1; /* behind the card */
}
.appreciator, .text{
    font-weight: 400;
    font-size: 0.8rem;
    white-space: nowrap;      /* Prevents text from wrapping */
    overflow: hidden; 
}

.avatar img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin: 0 auto;
}

.appreciate-text{
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
    margin-top: 10px;
}


.icon-buttons {
    display: flex;
    justify-content: center;
    gap: 30px; /* space between like & comment icons */
    margin-top: 10px;
}


.navigation-buttons {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 30px;
    transform: translateY(-50%);
    pointer-events: none; /* allows click-through by default */
}

.arrow-button {
    background-color: orangered;
    color: white;
    font-size: 2rem;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    cursor: pointer;
    pointer-events: auto; /* re-enables interaction on buttons */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}

.arrow-button:hover {
    background-color: rgba(0, 0, 0, 0.8);
}
        <div class="image-wrapper">
                <img src={backgroundImageUrl} alt="background" class="background-img" />
                <div class="overlay-text">
                    <h1>WALL OF FAME</h1>
                </div>
                <div class="create-appreciation">
                        <lightning-button label="Create Appreciation" variant="brand" onclick={handleCreateAppreciation} class="create-button"></lightning-button>
                </div>    
        </div>

        <div class="navigation-buttons">
                <lightning-button-icon icon-name="utility:arrow_left" alternative-text="Delete" variant="bare-inverse" size="large"   class="arrow-button left-arrow"></lightning-button-icon>
                <lightning-button-icon icon-name="utility:arrow_right" alternative-text="Delete" variant="bare-inverse" size="large"   class="arrow-button left-arrow"></lightning-button-icon>
            </div>
        

        <div class="sticky-notes">
                <template for:each={appreciations} for:item="note">
                        <div key={note.Id} class="card" style={note.style}>
                                <div class="note-content">
                                        <h2 class="appreciator">{note.name}</h2>
                                        <div class="avatar">
                                                <img src="https://www.lightningdesignsystem.com/assets/images/avatar2.jpg" alt="avatar" />
                                            </div>
                                            <div class="text">is appreciated</div>
                                            <div class="appreciate-text">{note.appreciated}</div>        
                                </div>
                           <div>    <div class="icon-buttons">    
                                    <lightning-button-icon icon-name="utility:like" alternative-text="Delete" title="Delete" onclick={handleDelete} data-id={note.Id} class="delete-button"></lightning-button-icon>
                                    <lightning-button-icon icon-name="utility:comments" alternative-text="Delete" title="Delete" onclick={handleDelete} data-id={note.Id} class="delete-button"></lightning-button-icon>
                                        </div>  
                           </div>   
                        </div>
                </template>  
        </div>              

html
  • 1 respostas
  • 54 Views
Martin Hope
Khandakar Rashed Hassan
Asked: 2025-04-09 15:59:21 +0800 CST

Components.Routes não pôde ser encontrado no assembly no serviço de aplicativo do Azure para o aplicativo Blazor

  • 5

Tenho um aplicativo Blazor implantado em um serviço de aplicativo do Azure (plano gratuito). Isso é principalmente para uma POC. O aplicativo funciona perfeitamente na minha máquina de desenvolvimento. Mas quando navego no site a partir do serviço de aplicativo, ele gera uma exceção não tratada:

blazor.web.js:1 ManagedError: Ocorreram um ou mais erros. (O tipo de componente raiz '*.Components.Routes' não pôde ser encontrado no assembly '**'.)

em um (dotnet.runtime.qrl1fuqt3c.js:3:26894)
em Kt.resolve_or_reject (dotnet.runtime.qrl1fuqt3c.js:3:26449)
em dotnet.runtime.qrl1fuqt3c.js:3:172526
em dotnet.runtime.qrl1fuqt3c.js:3:172590
em fr (dotnet.runtime.qrl1fuqt3c.js:3:35046)
em Fc (dotnet.runtime.qrl1fuqt3c.js:3:172173)
em dotnet.native.9msu8ucn2h.wasm:0x1f0b8
em dotnet.native.9msu8ucn2h.wasm:0x1c7c6
em dotnet.native.9msu8ucn2h.wasm:0xea13
em dotnet.native.9msu8ucn2h.wasm:0x1eb9c

No meu app.razor, estou configurando o componente de rota assim:

<Routes @rendermode="InteractiveAuto" />

Excluí as pastas obje bine limpei o projeto várias vezes. Também excluí todos os arquivos do serviço do aplicativo. Nada funcionou até agora.

Não sei como depurar isso.

  • 1 respostas
  • 32 Views
Martin Hope
Karthik S
Asked: 2025-04-09 15:54:32 +0800 CST

CanDeactivate + Botão Voltar do navegador causa navegação dupla ou ignora rota -- Prevenção de retorno do navegador Angular

  • 8

Problema

Estou usando um CanDeactivateprotetor no Angular para avisar o usuário antes de sair de um formulário com alterações não salvas. Funciona bem para alterações de rota normais (por exemplo, clicar em um link), mas trava quando o usuário pressiona o botão Voltar do navegador .

Cenário

Digamos que meu fluxo de roteamento seja:

/home → /usuário → /editar

  • O usuário está conectado /editcom alterações não salvas.
  • Pressiona o botão Voltar do navegador .
  • Uma caixa de diálogo de confirmação é exibida via CanDeactivate.
  • Se o usuário cancelar , a rota permanece a mesma (correta).
  • Mas quando eles pressionam novamente e confirmam , ele navega dois passos para trás /home, pulando/user .

O que eu tentei

Implementei uma CanDeactivateguarda como esta:

export class YourFormComponent implements CanComponentDeactivate, OnInit, AfterViewInit {
    hasUnsavedChanges = false;

    // Implement the canDeactivate method
    canDeactivate(): Observable<boolean> | boolean {
      if (!this.hasUnsavedChanges) {
        return true;
      }

      const confirmLeave = window.confirm('You have unsaved changes. Leave anyway?');
      return confirmLeave;
    }
}

rota.ts

import { Routes } from '@angular/router';
import { YourFormComponent } from './your-form.component';
import { ConfirmLeaveGuard } from './confirm-leave.guard';

const routes: Routes = [
  {
    path: 'form',
    component: YourFormComponent,
    canDeactivate: [ConfirmLeaveGuard]
  }
];

confrim-leave.guard.ts

import { inject } from '@angular/core';
import { CanDeactivateFn } from '@angular/router';
import { Observable } from 'rxjs';
import { Location } from '@angular/common';
export interface CanComponentDeactivate {
  canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;
}

export const ConfirmLeaveGuard: CanDeactivateFn<CanComponentDeactivate> = (component: any, currentRoute, currentState, nextState) => {
  const location = inject(Location);
  const result = component.canDeactivate();

  // If it's a boolean value
  if (typeof result === 'boolean') {
    if (!result) {
      location.replaceState(window.location.pathname); // Restore URL
    }
    return result;
  }

  // If it's an Observable or Promise
  if (result instanceof Observable || result instanceof Promise) {
    return new Promise(resolve => {
      Promise.resolve(result).then(confirmed => {
        if (!confirmed) {
          location.replaceState(window.location.pathname); // Restore URL
        }
        resolve(confirmed);
      });
    });
  }

  return true;
};

Também tentei usar Location.replaceState() ou Location.go() dentro do guarda para restaurar a pilha do histórico, mas ele ainda funciona mal ao usar o botão Voltar.

Pergunta Como posso manipular corretamente o botão Voltar do navegador com CanDeactivate para evitar navegação dupla ou rotas ignoradas?

Qualquer conselho ou exemplo será apreciado.

Exemplo de Stackblitz

Imagem de trabalho - https://s6.imgcdn.dev/YjXe3M.gif

javascript
  • 2 respostas
  • 70 Views
Martin Hope
Zebrafish
Asked: 2025-04-09 15:53:35 +0800 CST

Por que std::floor não é encontrado ao incluir <math.h> em C++23 no Android?

  • 8

Isso parece ser apenas uma pequena peculiaridade que eu poderia corrigir simplesmente incluindo <cmath>onde std::flooré usado, mas ainda assim é estranho e gostaria de saber se alguém sabe o que está acontecendo. Tenho um projeto que consigo compilar em MSVC, GCC e Clang em C++20 e C++23, sem problemas. No Android Studio, consigo compilar em C++20, mas se eu definir o padrão C++20 na minha configuração do CMake, recebo o erro:

erro: nenhum membro chamado 'floor' no namespace 'std'

No lugar onde preciso, incluo <math.h>, o que funcionou bem para todas as outras configurações de compilação. Acho que o math inclui <cmath>. De qualquer forma, posso fazer o erro desaparecer incluindo TAMBÉM <cmath>onde preciso, mas há algum motivo para isso acontecer na compilação do Android com C++23? Tipo, eu já tenho:

#include <math.h>

E com o C++23 no Android Studio eu literalmente tenho que incluir:

#include <cmath>

Para std::floorser reconhecido, as funções estão comentadas. Parece estranho.

c++
  • 3 respostas
  • 166 Views
Prev
Próximo

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