【发布时间】:2017-04-04 01:39:06
【问题描述】:
我正在尝试创建简单的 PerlQt 应用程序,但是当我启动我的 Perl 脚本时出现此错误:
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /usr/local/lib/x86_64-linux-gnu/perl/5.22.1/QtCore4.pm line 1420.
Compilation failed in require at ./perlqt.pl line 5.
BEGIN failed--compilation aborted at ./perlqt.pl line 5.
代码:
#!/usr/bin/perl
use strict;
use warnings;
use QtCore4;
use QtGui4;
use Window;
sub main
{
my $app = Qt::Application( \@ARGV );
if (!Qt::SystemTrayIcon::isSystemTrayAvailable()) {
Qt::MessageBox::critical(0, Qt::Object::this->tr('Systray'),
Qt::Object::this->tr('I couldn\'t detect any system tray ' .
'on this system.'));
return 1;
}
Qt::Application::setQuitOnLastWindowClosed(0);
my $window = Window();
$window->show();
return $app->exec();
}
exit main();
请问如何解决?我的代码中没有使用任何数组。
【问题讨论】:
-
...并从第 1420 行之后的下两行中删除
defined。这三行似乎是触发该特定错误的唯一位置。