どなたかWin95(!)でCygwin環境を構築して、その上でPerl/Tkを使われている方はいらっしゃいませんか?
CPANからTk800.022をとってきてビルドを試みたのですが、ipc.hやsem.hのインクルードでこけてしまいうまくいきません。
「私はこうやってPerl/TkをCygwin上でビルドして使っている。」という秘訣があればぜひ教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

インクルードファイル上で「こける」理由は色々あります。



・インクルードファイルが足りない
・-Iまたは$(INCLUDE)が足りない
・-Dが間違っていて別の環境でコンパイルしようとしている
・etc...

エラーメッセージを補足してください。
    • good
    • 0
この回答へのお礼

kazekazeです。
ありがとうございます。
実は、エラーメッセージを確認しようとしたんですが、PCの調子が悪くなってしまい、確認できなくなってしまいました。
再度、Perl/Tkのmake操作が可能な状態になったらエラーメッセージを補足させてください。

お礼日時:-0001/11/30 00:00

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qperl/tkとtcl/tkの違いを知りたい

perl/tkとtcl/tkの違いを知りたい。
例えば、文法の違いだとか、互換性だとか、拡張性とかを
知りたい。宜しくお願いします。

Aベストアンサー

tkというのは、GUIのライブラリで、
それを、perlとかtclとかいった言語から使えるようにしたのが、perl/tk、tcl/tkです。

perlとtclは、全く違う言語ですから、文法は全く違いますし、互換性は全くありません。
ただ、tkという同じGUIライブラリを使用しているので、ライブラリの呼び出し方などはほぼ同じです。

Qcygwin+cpanで初期設定にエラー

windowsXPにcygwinをいれてperlを使っています。cygwin上からcpanを利用しようと思い、
 perl -MCPAN -e shell
とすると、幾つかの入力を求められますが、すべてenterを押します。たしか、以前にlinuxでcpanを使った時にはこの方法でcpanが利用できたと思うのですが、cygwinではエラーが出ているらしく、ftp://ftp.perl.org/pub/CPAN/MIRRORED.BYという単語が含まれたメッセージが多数出ます。そして、最後に

Could not fetch MIRRORED.BY CPAN.pm needs at least one URL where it can fetch CPAN files from. Plese enter your CPAN ste:[]

と表示されます。結局、installが正常に動作しないのですが、正常に動作させる方法はあるのでしょうか。ちなみに、ActivePerl+ppmは正常に動作しています。
ご存じの方がいらっしゃったらよろしくお願いします。

windowsXPにcygwinをいれてperlを使っています。cygwin上からcpanを利用しようと思い、
 perl -MCPAN -e shell
とすると、幾つかの入力を求められますが、すべてenterを押します。たしか、以前にlinuxでcpanを使った時にはこの方法でcpanが利用できたと思うのですが、cygwinではエラーが出ているらしく、ftp://ftp.perl.org/pub/CPAN/MIRRORED.BYという単語が含まれたメッセージが多数出ます。そして、最後に

Could not fetch MIRRORED.BY CPAN.pm needs at least one URL where it can fetch CPAN files fr...続きを読む

Aベストアンサー

#1が外してるとしたらですがプロンプトが cpan> となったら
cpan>o conf
と打って urllist の項目に表示されたURL(例えばftp://ftp.kddilabs.jp/CPAN/ 等)
が間違ってないか、サーバーがダウンしていないかを確認して
必要ならurllistを変更、追加するとか?
http://www.drk7.jp/MT/archives/000885.html

QWindowsでperl/tkに挑戦

windows 98SE 上で perl/tk を使って GUI プログラミングに挑戦!と思ったのですが、
MainWindow が出る前に、必ず DOS窓が一瞬現れて消えるのが、どうも気になります。

この DOS窓を出さない方法はあるのでしょうか?
よろしくお願いします。

Aベストアンサー

perl.exeではなくwperl.exeがスクリプトを実行するように仕込んでおけば、コマンドプロンプトを表示せずに起動するようになります。

例えばWindows + ActivePerlでは通常は拡張子*.plをperl.exeで起動するように設定していると思いますので拡張子*.wplとかをwperl.exeで起動するように設定しておけばコマンドプロンプト無しで処理されます。

参考URL:http://www.mail-archive.com/activeperl@listserv.activestate.com/msg06024.html

Q(Perl CPAN) DBDがはいらない

「windows7 64bit に ActivePerl をいれています」

以下のプログラムを書いて実行したところ、エラーメッセージがでてきました。


Software error:

DBD::MySQL initialisation failed: Can't locate object method "driver" via package "DBD::MySQL" at C:/usr/local/lib/DBI.pm line 808.

Perhaps the capitalisation of DBD 'MySQL' isn't right. at C:/Apache2.2/htdocs/00001/shinki_data_sakusei.pl line 33.


これはつまり、DBD::MySQL がないよ!という意味であると思うのですが、ppmを起動してDBDにあたるモジュールをインストールして再実行してもまだ同じエラーがでます。どうしてもwindows7上で作らなければならないので、困っています。どこか参考になるサイトはないでしょうか?

=========================================
use strict;
use warnings;

# エラーをブラウザに表示
use CGI::Carp qw(fatalsToBrowser);

use utf8;
binmode STDIN, ':encoding(UTF-8)';
binmode STDOUT, ':encoding(UTF-8)';
binmode STDERR, ':encoding(UTF-8)';
use Encode;
use DBI;


# プログラム開始

# ユーザ名とパスワード
my $user = 'root';
my $pass = 'root';

#データベースへ接続
my $db = DBI->connect('DBI:MySQL:localhost', $user, $pass,);
if ( ! $db ){
print "エラー: $db->err $db->errstr\n";
}

# 命令
my $sth = $db->prepare( "SELECT * FROM login" );

# 実行
$sth->execute;

# 出力
while( my @row = $sth->fetchrow_array ){
print "@row\n";
}

#データベースから切断
$db->disconnect;


__END__

「windows7 64bit に ActivePerl をいれています」

以下のプログラムを書いて実行したところ、エラーメッセージがでてきました。


Software error:

DBD::MySQL initialisation failed: Can't locate object method "driver" via package "DBD::MySQL" at C:/usr/local/lib/DBI.pm line 808.

Perhaps the capitalisation of DBD 'MySQL' isn't right. at C:/Apache2.2/htdocs/00001/shinki_data_sakusei.pl line 33.


これはつまり、DBD::MySQL がないよ!という意味であると思うのですが、ppmを起動してDB...続きを読む

Aベストアンサー

ppmで DBD::mysql(DBD-mysql)はインストール済なんですね。
そうなのでしたら、おそらく

> my $db = DBI->connect('DBI:mysql:localhost', $user, $pass,);

のように、mysqlを小文字で指定していないのが原因でしょう。

Windowsではファイル名の大文字小文字は区別されませんが、
Perlとしてはモジュール名は大文字小文字が区別されます。

QPerl/Tk Entry に対して見出しを付けたい

Win-XP,Active-Perl(v5.8.6)利用です。

複数のインプットボックスを持つ、
┌────────────┐
│   ┌───────┐│
│品名:│       ││
│   └───────┘│
│   ┌───────┐│
│科目:│       ││
│   └───────┘│
│   ┌───────┐│
│価格:│       ││
│   └───────┘│
│ ┌──┐┌─────┐│
│ │OK││キャンセル││
│ └──┘└─────┘│
└────────────┘
こんな感じのウィンドウを作りたいのですが、
(図が崩れているかも知れませんが大体のイメージで・・・)
========================================
use Tk;
$top = new MainWindow;
$arg[0] = $top->Entry(-title=>'品名:')->pack;
$arg[1] = $top->Entry(-title=>'科目:')->pack;
$arg[2] = $top->Entry(-title=>'価格:')->pack;
$b[0] = $top->Button(-text=>'OK',-command=> [\&exec,\@arg])->pack;
$b[1] = $top->Button(-text=>'キャンセル',-command=> [\&exec,(-1)])-pack;
========================================
unknown option "-title" at C:\Perl\site\lib/Tk/Widget.pm
Entryに対するオプションが分かりませんでした。

もしくは、Label や Message を組み合わせて実現するものでしょうか。
あと、実際に図のような配置でフォームを作りたい場合、
Buttonの部分の書き方はどのようにすれば良いですか?

以上、ご存知の方、ご教示よろしくお願い致します。

Win-XP,Active-Perl(v5.8.6)利用です。

複数のインプットボックスを持つ、
┌────────────┐
│   ┌───────┐│
│品名:│       ││
│   └───────┘│
│   ┌───────┐│
│科目:│       ││
│   └───────┘│
│   ┌───────┐│
│価格:│       ││
│   └───────┘│
│ ┌──┐┌─────┐│
│ │OK││キャンセル││
│ └──┘└─────┘│
└────────────┘
こんな感じのウィンドウを作りたいのですが、
(図が崩れているかも知れませんが大体のイメージで・・・)
===================...続きを読む

Aベストアンサー

use strict;
use warnings;
use Tk;

### Main Window
my $window = MainWindow->new();

### Frame
# Goods
my $goods_frame = $window->Frame(
-width => 240,
-height => 30,
-borderwidth => 2,
-relief => 'flat',
);
$goods_frame->pack();

# Price
my $price_frame = $window->Frame(
-width => 240,
-height => 30,
-borderwidth => 2,
-relief => 'flat',
);
$price_frame->pack();

# Confirm
my $confirm_frame = $window->Frame(
-width => 240,
-height => 30,
-borderwidth => 2,
-relief => 'flat',
);
$confirm_frame->pack();

### Widgets
# Goods Label
my $goods_label = $goods_frame->Label(
-text => 'Goods',
-width => 10
);
$goods_label->pack( -side => 'left' );

# Goods Entry
my $goods_entry = $goods_frame->Entry(
-width => 30,
-background => 'white'
);
$goods_entry->pack( -side => 'left' );

# Price Label
my $price_label = $price_frame->Label(
-text => 'Price',
-width => 10
);
$price_label->pack( -side => 'left' );

# Price Entry
my $price_entry = $price_frame->Entry(
-width => 30,
-background => 'white'
);
$price_entry->pack( -side => 'left' );

# OK Button
my $ok_button = $confirm_frame->Button( -text => 'OK', -width => 8 );
$ok_button->pack( -side => 'left' );

# Cancel Button
my $cancel_button = $confirm_frame->Button(
-text => 'Cancel',
-width => 8,
);
$cancel_button->pack( -side => 'left' );

### Loop
MainLoop();

use strict;
use warnings;
use Tk;

### Main Window
my $window = MainWindow->new();

### Frame
# Goods
my $goods_frame = $window->Frame(
-width => 240,
-height => 30,
-borderwidth => 2,
-relief => 'flat',
);
$goods_frame->pack();

# Price
my $price_frame = $window->Frame(
-width => 240,
-height => 30,
-borderwidth => 2,
-relief => 'flat',
);
$price_frame->pack();

# Confirm
my $confir...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報