PerlのC++の簡単なサンプルのモジュールを作成する方法

このQ&Aのポイント
  • PerlのC++の簡単なサンプルのモジュールを作成したいがエラーが発生
  • エラー内容は'識別子がシンタックスエラーを起こしました'というもの
  • nmakeを使用しているが、'cl'のエラーコードが返されている
回答を見る
  • ベストアンサー

PerlのC++の簡単なサンプルのモジュールを作成したいのですが

PerlのC++の簡単なサンプルのモジュールを作成したいのですが 以下で困っております。 【エラー内容】 nmake後のエラー Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cl -c -nologo -O1 -MD -Zi -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX -O1 -MD -Zi -DNDEBUG -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -IC:\usr\lib\CORE Car.c Car.c car.hpp(4) : error C2061: 構文エラー : 識別子 'Car' がシンタックスエラーを起こしました。 car.hpp(4) : error C2059: 構文エラー : ';' car.hpp(4) : error C2449: '{' を見つけました (関数のヘッダーがないかもしれません)。 car.hpp(8) : error C2059: 構文エラー : '}' Car.c(52) : error C2065: 'XS_Car_new' : 定義されていない識別子です。 Car.c(52) : warning C4047: 'function' : 間接参照のレベルが 'void (__cdecl *)(struct interpreter *,struct cv *)' と 'int ' で異なっています。 Car.c(52) : warning C4024: 'Perl_newXS' : の型が 3 の仮引数および実引数と異なります。 NMAKE : fatal error U1077: 'cl' : リターン コード '0x2' Stop.

  • Perl
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

Perlで作ればいいのでは?

関連するQ&A

  • PlatformSDKのサンプル等のビルド

    DirectShowの機能を使おうと考え,Windows Server 2003 SP1 Platform SDKをインストールしました. BaseClassesのビルドを行ってstrmbasd.lib等を得るために,バッチファイルをもちいてnmakeコマンドによりビルドしたのですが,下記のようなエラーが出てしまい,ビルドができませんでした.他のサンプルも似たようなエラーが出てしまい,ビルドできません. 対処の仕方がわからず,困っております. C:\Program Files\Microsoft Platform SDK\Samples\Multimedia\DirectShow\BaseClasses\ctlutil.h(278):error C4430: 型指定子がありません C:\Program Files\Microsoft Platform SDK\Include\uuids.h:warning C4819: ファイルは,現在のコードページ(932)で表示できない文字を含んでいます. NMAKE:fatal error U1077: 'cl': return code '0x2'Stop ちなみに開発環境はOS:windowsXP sp2,Visual Studio 2005 Standardを使用しています. よろしくお願いします.

  • Perlモジュールのparam()を使って

    ネットでいろいろ調べていたらPerlモジュールのparamですべてのパラメーターを得る場合引数をいれずに param()とすればいいとかかれていたので、すべてのパラメーターから,カンマがあればエラーにするという構文を書こうとしましたがうまくいきません。 @params = param(); foreach $param (@params) { if($param =~ /\,/){&error('フォーム内に「,」は入力できません。');}; } 上のようにしてもスルーします。 間違っているのだと思いますが、すべてのパラメーターからマッチングさせたい場合どのようにすればいいのでしょうか? よろしくおねがいします。

    • ベストアンサー
    • Perl
  • C言語、エラーメッセージが紐解けません。

    いつも大変お世話になり誠にありがとうございます。 標記の件。 エラーメッセージが紐解けません。 どうかどなたかアドバイスください。 下記にコードとコンパイルエラーを書きます。        記 コード #include <stdio.h> typedef struct Car{ int num; double gas; }Car; int main(void) { printf("int型のサイズは%dバイトです。\n", sizeof(int)); printf("double型のサイズは%dバイトです。\n", sizeof(double)); printf("構造体struct Car型のサイズは%dバイトです。\n",sizeof(Car)); printf("構造体struct Car型へのポインタのサイズは%dバイトです。\n",sizeof(Car *)); return 0; } コンパイラーエラー C:\MinGW>gcc text20.c -o text20 text20.c: In function 'main': text20.c:12:11: warning: unknown escape sequence: '\221' printf("構造体struct Car型のサイズは%dバイトです。\n",sizeof(Car)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ text20.c:13:11: warning: unknown escape sequence: '\221' printf("構造体struct Car型へのポインタのサイズは%dバイトです。\n",sizeof(Car *)); 以上です。 ご多忙中恐れ入ります。 ご回答の程宜しくお願い申し上げます。

  • C++.NETでのOracle埋め込み

    C++ 6.0ではOracle埋め込みはEXEC SQL BEGIN DECLARE SECTION;と 定義していたのですがC++.NETでは ORA_SUB.cpp(15) : error C2146: 構文エラー : ';' が、識別子 'SQL' の前に必要です。 ORA_SUB.cpp(15) : error C2501: 'EXEC' : 識別名を宣言するのに、型が指定されていません。 ORA_SUB.cpp(15) : error C2146: 構文エラー : ';' が、識別子 'BEGIN' の前に必要です。 ORA_SUB.cpp(15) : error C2501: 'SQL' : 識別名を宣言するのに、型が指定されていません。 ORA_SUB.cpp(15) : error C2146: 構文エラー : ';' が、識別子 'DECLARE' の前に必要です。 ORA_SUB.cpp(15) : error C2501: 'BEGIN' : 識別名を宣言するのに、型が指定されていません。 ORA_SUB.cpp(15) : error C2146: 構文エラー : ';' が、識別子 'SECTION' の前に必要です。 とエラーになります。 C++.NETでは使い方が違っているのでしょうか? よろしくお願い致します。

  • WinXP/2000でMS-Cを使うには?

    訳あって、昔MS-Cで開発したプログラムの一部を修正してコンパイルしようとしています。 WinXPのDOSプロンプトでMS-C自体のインストールはしたのですが、NMAKE、NMKによるコンパイルができなくてこまっています。 NMAKEを実行すると「fatal error U1065:オプション'Z'は無効です」と表示されます。 確かにNMAKE実行時はオプションとして/Ziを指定しているのですが、これが引っかかっているようです。 PC上にはVisual C++もインストールされているのでその中のNMAKEやNMKを実行しているのではないかと思って直接MS-Cのディレクトリの中のファイルを実行しまいたが同じ現象が発生しました。 どなたか同じような経験をされていて回避手段を見つけておられる方がおいでであればアドバイスをお願いできないでしょうか? (Win98のノートPCではVC++とMS-Cが混在していても問題なくコンパイルできたのですが・・・)

  • モジュールのインストール中のエラー

    モジュールのインストール中に下のようなエラーがでて困ってます。 インストールしているモジュールはNet-SNMP-5.2.0です。 ActivePerl 5.8.8 Build 822を使ってます。 OSはWinodws2000 C:\\Perl_Mo\\Net-SNMP-5.2.0\\Net-SNMP-5.2.0>nmake Microsoft(R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. cp lib/Net/SNMP/Security/USM.pm blib\\lib\\Net\\SNMP\\Security\\USM.pm AutoSplit: Can\'t open blib\\lib\\Net\\SNMP\\Security\\USM.pm: Permission denied NMAKE : fatal error U1077: \'C:\\Perl\\bin\\perl.exe\' : リターン コード \'0xd\'

  • Visial C++におけるプログラミング

    Visial C++ 2008を使用したプログラミングについてです。 学校の課題をやるためやむなくVisial C++2008を使用していて 学校では実行が出来たのに家では出来ませんでした。 ソースファイルは以下のとおりです。 #include <stdio.h> #include <stdlib.h> #include <time.h> /*構造体宣言*/ struct Students{ int N; int A; int B; int C; }; int main(void){ struct Students std[50]; /*構造体型配列*/ int i,N,A,B,C,num,scannum; srand((unsigned)time(NULL)); /*乱数の初期化*/ FILE *file; /*ファイルのポインタを用意*/ file=fopen("Data.txt","r"); /*Dataファイルの読み込み*/ /*ファイルのオープンチェック*/ if(file==NULL){ fprintf(stderr,"cannnot open file 'Data.txt'\n"); exit(1); } /*Studentsにデータを格納*/ for(i=0;i<=49;i++){ fscanf(file,"%d%d%d",&N,&A,&B); std[i].N=N; std[i].A=A; std[i].B=B; std[i].C=70+(rand()/(RAND_MAX+1.0)*31); /*表示*/ printf("学籍番号:%d.",std[i].N); printf("科目A:%d.\n",std[i].A); printf("科目B:%d.\n",std[i].B); printf("科目C:%d.\n",std[i].C); } fclose(file); return 0; } エラーとしては 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(21) : error C2275: 'FILE' : この型は演算子として使用できません 1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(69) : 'FILE' の宣言を確認してください。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(21) : error C2065: 'file' : 定義されていない識別子です。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(23) : error C2065: 'file' : 定義されていない識別子です。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(23) : warning C4047: '=' : 間接参照のレベルが 'int' と 'FILE *' で異なっています。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(26) : error C2065: 'file' : 定義されていない識別子です。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(26) : warning C4047: '==' : 間接参照のレベルが 'int' と 'void *' で異なっています。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(32) : error C2065: 'file' : 定義されていない識別子です。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(32) : warning C4047: '関数' : 間接参照のレベルが 'FILE *' と 'int' で異なっています。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(32) : warning C4024: 'fscanf' : の型が 1 の仮引数および実引数と異なります。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(36) : warning C4244: '=' : 'double' から 'int' への変換です。データが失われる可能性があります。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(45) : error C2065: 'file' : 定義されていない識別子です。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(45) : warning C4047: '関数' : 間接参照のレベルが 'FILE *' と 'int' で異なっています。 1>c:\documents and settings\devil\my documents\visual studio 2008\projects\テスト\テスト\tt.c(45) : warning C4024: 'fclose' : の型が 1 の仮引数および実引数と異なります。 1>ビルドログは "file://c:\Documents and Settings\devil\My Documents\Visual Studio 2008\Projects\テスト\テスト\Debug\BuildLog.htm" に保存されました。 と表示されます。FILEの宣言をしているのになんで確認してください と出るのでしょうか。。。。解決にご協力お願いします。m(__)m

  • C++のヘッダーについて

    C++のプログラミングをしています そこで出てきた問題なのですが・・・ class Aのヘッダファイルa.hをほかのcppファイルにインクルードすると、 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません error C2146: 構文エラー : ';' が、識別子 'test' の前に必要です。 とほかのヘッダファイルでコンパイルエラーがでます ヘッダファイルをインクルードしたときのみこのエラーがでて困っています。 解決法や、ヒントになりそうな事例を知りませんでしょうか?

  • nmakeの使い方

    <環境> WIN98 VC++6.0 nmakeを始めて使いましたが以下のエラーが出ます。 DLしたコードはVC+5.0で作ったものです。 cl /c /W3 /O2 /Foobj\ /DWIN32 main.c 'cl' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 NMAKE : fatal error U1077: 'cl' : リターン コード '0x1' Stop. 以下のようにして実行しました。 c:\”xxx.makのあるフォルダ”> ”nmake.exeのあるフォルダ”\nmake xxx.mrk 根本的に使い方が間違っているのでしょうか? お分かりの方、お教えください。

  • 困っています。

    困っています。 #pragma ADDRESS pm0_addr 0004h エラーで error C2059: 構文エラー : 'サフィックスが無効です。' warning C4068: 不明なプラグマがありました。 とでるのですが、何がいけないのでしょうか? VisualC++ 6.0を使用しています。

専門家に質問してみよう