Re: does Inline::CPP recognize #import ?

[email protected] ("Sisyphus")
Newsgroups perl.inline
Message-ID <C3C84F4BA8C4477B9487567D351CB009@desktop2>
----- Original Message ----- 
From: "Xiao Yafeng" <[email protected]>
To: "inline" <[email protected]>; "David Oswald" <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.