平台cygwin,
gcc:mingw
hellocgi.pl
#!c:/perl/bin/perl.exe
#print "Content-type: text/html\n\n";
print "hello";
执行/cygdrive/c/perl/bin/perlcc.bat hellocgi.pl[code]Set up gcc environment - 4.6.1
pccMpHkL.c: In funciton 'perl_init_aaaa':
pccMpHkL.c:2124:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
c:/minw/bin/../lib/gcc/mingw32/4.6.1/../../../mingw32/bin/ld.exe:cannot find -lperl
collect2: ld return 1 exit status
由于perlcc编绎不过,用了最笨最简单的方法,用activePerl+cpan终于成功了。献上结果。希望未成功的同学也能成功
- 安装PAR-Packer
-
-
安装ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi
-
设置系统环境变量PERL_TEST_POD = 1, 这个只是make test时需要,理论可忽略。
-
-
ppm install cpan 如果没有安装
-
ppm install Win32-Exe
-
-
进行cpan自动下载安装minGw
-
It looks like you don
ps:编绎的库超大1K的文件打成EXE变成2M多(把静态库打上去的结果),perlcc再看看
perlcc已经编绎成功了。
- perlcc就windows版本从代码得知实际的运行的参数以及调用的库及参数
-
C:\idscontrol\perl\bin\perl.exe -IC:/idscontrol/perl/site/lib -IC:/idscontrol/perl/lib -IC:/idscontrol/perl/lib/CORE -I. -MO=C,-umain,-uutf8,-uWin32CORE,-uattributes,-uRegexp,-uWin32,-uPerlIO,-uPerlIO::Layer,-uActivePerl,-uInternals,-uDB,-ohello.c hello.cgi
-
-
gcc -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields -I"C:\idscontrol\Perl\lib\CORE" -o a.exe hello.c -L"C:\idscontrol\Perl\lib\CORE" C:\idscontrol\Perl\lib\CORE\perl58.lib C:\MinGW\lib\libkernel32.a C:\MinGW\lib\libuser32.a C:\MinGW\lib\libgdi32.a C:\MinGW\lib\libwinspool.a C:\MinGW\lib\libcomdlg32.a C:\MinGW\lib\libadvapi32.a C:\MinGW\lib\libshell32.a C:\MinGW\lib\libole32.a C:\MinGW\lib\liboleaut32.a C:\MinGW\lib\libnetapi32.a C:\MinGW\lib\libuuid.a C:\MinGW\lib\libws2_32.a C:\MinGW\lib\libmpr.a C:\MinGW\lib\libwinmm.a C:\MinGW\lib\libversion.a C:\MinGW\lib\libodbc32.a C:\MinGW\lib\libodbccp32.a C:\MinGW\lib\libmsvcrt.a -lperl
去掉-lperl在这我这里能成功编绎, 但不知道是否会产生其他的问题。有知道的解答一下。(因为在使用perl进行编绎的时候已经把所有跟perl相关的库绑定了,所以不太明白为什么还需要libperl)
阅读(1983) | 评论(1) | 转发(1) |