----- Original Message ----- From: "Xiao Yafeng" <xyf.x...@gmail.com>
To: "inline" <inline@perl.org>; "David Oswald" <daosw...@gmail.com>
Sent: Sunday, July 22, 2012 9:28 PM
Subject: does Inline::CPP recognize #import ?


I have to use #import to import typed library , but seems Inline::CPP
doesn't know this and complain many errors:

use Inline CPP=>Config=>
   CC => 'cl.exe',
BUILD_NOISY => 1;

If you want to use cl.exe as a C++ compiler, you'll need to do
 CC => 'cl /TP',

otherwise the source files will be treated as C files.

Was Inline::CPP originally installed using a different "CC" ?
If so, then it might cause problems if you decide to switch to cl.exe. (Or it may not ... I don't know.)

If I wanted to switch to another compiler then, instead of using the 'CC' config option, I would re-build and re-install Inline::CPP using that other compiler. (But make sure you specify 'cl /TP' as the compiler.) If you're using ActivePerl, you might just get away with that ... but if you're running Strawberry Perl, then switching to a Microsoft compiler might cause problems.

test_cpp_pl_57db.c
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(39) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(39) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(41) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(41) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(41) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(41) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(41) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(41) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(42) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(42) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(42) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(42) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(42) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(42) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(43) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(43) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(43) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(43) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(43) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(43) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(44) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(44) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(44) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(44) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(44) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(44) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(45) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(45) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(45) : error
C2143
: syntax error : missing '{' before ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(45) : error
C2059
: syntax error : ':'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\cstdio(45) : error
C2143
: syntax error : missing '{' before ':'

Note that this is Visual Studio complaining about its own cstdio file - which also probably indicates that this C++ file (cstdio) is being parsed as a C file.

Cheers,
Rob

Reply via email to