Now compiles πŸ™‚

in theory should show the files got from ls on terminal ?

Builtin Apps:
    i2c      sh       hello    nsh
nsh> hello
nsh>

=============

#include <nuttx/config.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>


#ifdef CONFIG_BUILD_KERNEL
int main(int argc, FAR char *argv[])
#else
int hello_main(int argc, char *argv[])
#endif
{

if (argc < 2)
{
      static char * const args[2] =
      {
            "ls",
            NULL
      };

      execv(args[0], args);
}
De: Xiang Xiao <xiaoxiang781...@gmail.com>
Enviado: quinta-feira, 12 de outubro de 2023 18:08
Para: dev@nuttx.apache.org <dev@nuttx.apache.org>
Assunto: Re: execv obsolet ?

you need enable CONFIG_LIBC_EXECFUNCS:
https://github.com/apache/nuttx/blob/master/libs/libc/unistd/lib_execv.c#L29

On Fri, Oct 13, 2023 at 1:59β€―AM MIGUEL ALEXANDRE WISINTAINER <
tcpipc...@hotmail.com> wrote:

> #include <nuttx/config.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
>
> #ifdef CONFIG_BUILD_KERNEL
> int main(int argc, FAR char *argv[])
> #else
> int hello_main(int argc, char *argv[])
> #endif
> {
>
> if (argc < 2)
> {
> static char * const args[2] =
> {
> "/bin/ls",
> NULL
> };
>
> execv(args[0], args);
> }
>
> else
> {
> int i;
>
> for (i = 1; i < argc; i++)
> {
> static char * const args[3] =
> {
> "/bin/ls",
> NULL,
> NULL
> };
> args[1] = argv[i];
> execv(args[0], args);
> }
> }
> return EXIT_SUCCESS;
> }
>
> hello_main.c:(.text.hello_main+0xe): undefined reference to `execv'
> xtensa-esp32-elf-ld: hello_main.c:(.text.hello_main+0x20): undefined
> reference to `execv'
> make[1]: *** [Makefile:173: nuttx] Error 1
> make: *** [tools/Unix.mk:537: nuttx] Error 2
>

Reply via email to