`cpp_source()` fails if there are hyphens in the filename
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
Línea de trabajo
Start at the cpp11::cpp_source entry point and reproduce the reported case with a temporary C++ filename containing a hyphen. Trace how the filename contributes to the generated symbol, then verify that compilation succeeds and some_function() can be called for hyphenated filenames.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I imagine this isn't the intended behaviour but also has a very easy workaround (don't use hyphens in a C++ source filename).
temp <- tempfile(fileext = "contains-hyphen.cpp")
write("
#include <cpp11.hpp>
[[cpp11::register]]
void some_function() {}
", temp)
cpp11::cpp_source(temp)
#> /private/var/folders/gt/l87wjg8s7312zs9s7c1fgs900000gn/T/Rtmp9b1IjL/file1045918f3e435/src/cpp11.cpp:5:43: error: expected ';' after top level declarator
#> extern "C" SEXP _file1045977566e56contains-hyphen_some_function() {
#> ^
#> ;
#> 1 error generated.
#> make: *** [/private/var/folders/gt/l87wjg8s7312zs9s7c1fgs900000gn/T/Rtmp9b1IjL/file1045918f3e435/src/cpp11.o] Error 1
#> make: *** Waiting for unfinished jobs....
#> Error: Compilation failed.
some_function()
#> Error in some_function(): could not find function "some_function"
Created on 2021-11-10 by the reprex package (v2.0.1)
- Lenguaje dominante
- C++
- Estrellas
- 224
- Forks
- 52
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de r-lib/cpp11
-
Dimension error with `r_vector` Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Todos los issues de r-lib/cpp11
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
AXERA-TECH/ax-llm#77 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
games-on-whales/wolf#509 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
bug-unconfirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
NVIDIA/cuda-samples#453 ·