which, I think, looks right.gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS + -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MIN +GW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 -D +VERSION=\"1.52\" -DXS_VERSION=\"1.52\" "-IC:\_64\perl530_810\lib\COR +E" -DPERL_EXT -DUSE_PPPORT_H "-DMY_FORMAT=\"%.17\"" ListUtil.c
And that prints out **.17**, showing quite clearly that the quotes && the percentage sign have been lost.printf("\n**%s**\n", MY_FORMAT);
During the build I get:use strict; use warnings; use Config; use Inline C => Config => USING => 'ParseRegExp', CCFLAGSEX => q["-DMY_FORMAT=\"%.16e\""], BUILD_NOISY => 1, ; use Inline C =><<'EOC'; SV * foo(void) { printf(MY_FORMAT, sqrt(2.0)); printf("\n"); } EOC foo();
gcc -c -iquote"C:/_32/C" -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPER +L_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_ +PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bit +fields "-DMY_FORMAT=\"%.16e\"" -s -O2 -DVERSION=\"0.00\" -DXS_VERSI +ON=\"0.00\" "-IC:\_64\perl530_810\lib\CORE" try_pl_d937.c <command-line>: warning: missing terminating " character try_pl_d937.xs:1:10: fatal error: EXTERN.h: No such file or directory #include "EXTERN.h" ^~~~~~~~~~ compilation terminated.
In reply to Re^2: Defining an XS symbol in the Makefile.PL (quoting)
by syphilis
in thread Defining an XS symbol in the Makefile.PL
by syphilis
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |