4
Windows 7에서 인라인 :: C를 실행하려고 시도했지만 (사용중인 perl 5.14 사용) 오류가 발생했습니다. 라이브러리 "bufferoverflowU"를 어디에 설치할 지 잘 모릅니다. 정말 필요한가요? 인라인 :: C 실행시 오류가 발생했습니다.
perl te.pl
Set up gcc environment - 4.8.2
C:\Perl64\bin\perl.exe C:\Perl64\lib\ExtUtils\xsubpp -typemap "C:\Perl64\lib\ExtUtils\typemap" te1_pl_1114.xs > te1_pl_1114.xsc && C:\Perl64\bin\perl.exe -MExtUtils::Command -e "mv" -- te1_pl_1114.xsc te1_pl_1114.c
c:/WINBUI~1/bin/gcc.exe -c -I"C:/winbuild64/test" -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -O2 -DVERSION=\"0.00\" -DXS_VERSION=\"0.00\" "-IC:\Perl64\lib\CORE" te1_pl_1114.c
Running Mkbootstrap for te1_pl_1114()
C:\Perl64\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 te1_pl_1114.bs
C:\Perl64\bin\perl.exe -MExtUtils::Mksymlists \
-e "Mksymlists('NAME'=>\"te1_pl_1114\", 'DLBASE' => 'te1_pl_1114', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
Set up gcc environment - 4.8.2
dlltool --def te1_pl_1114.def --output-exp dll.exp
c:\WINBUI~1\bin\g++.exe -o blib\arch\auto\te1_pl_1114\te1_pl_1114.dll -Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl64\lib\CORE" te1_pl_1114.o C:\Perl64\lib\CORE\perl514.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lbufferoverflowU -lmsvcrt dll.exp
c:/winbui~1/bin/../lib64/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lbufferoverflowU
collect2.exe: error: ld returned 1 exit status
dmake.exe: Error code 129, while making 'blib\arch\auto\te1_pl_1114\te1_pl_1114.dll'
A problem was encountered while attempting to compile and install your Inline
C code. The command that failed was:
C:\Perl64\site\bin\dmake.exe > out.make 2>&1
The build directory was:
C:\winbuild64\test\_Inline\build\te1_pl_1114
To debug the problem, cd to the build directory, and inspect the output files.
at te1.pl line 6
...propagated at C:/Perl64/site/lib/Inline/C.pm line 798.
BEGIN failed--compilation aborted at te1.pl line 6.
펄 파일
는use Inline C => <<'END_C';
void greet() {
printf("Hello, world\n");
}
END_C
greet;
배경 덕분에 tobyink에게 감사드립니다. perl 5.16 용 PPM은 인라인 :: C를 지원하지 않으므로 tarball을 다운로드하고 직접 설치해야했습니다. 잘 됐어. 유일한 문제는 컴파일 오류입니다. SDK 설치를 시도합니다. – packetie