首页 > 解决方案 > perl inline::C 无法从 openmediavault 共享文件夹、linux 本身或 SAMBA 的 windows 中的共享对象映射段

问题描述

我有一台旧电脑并在其中安装了一个 openmediavault。然后将其 RAID 共享为共享文件夹,然后通过 SAMBA 将此文件夹映射到 windows。我可以在 Windows 的这个共享文件夹中运行 Steam 游戏。

我写了一个 perl 脚本来演示 inline::C,它是一个非常小的脚本。

use 5.24.0;
use warnings;
use Inline C=><<'_C_CODE_';

void say_something(){
    printf("Y!");
}

_C_CODE_

say_something();

然后如果我把这个 perl 脚本文件放在共享文件夹中,perl 将无法编译这个脚本。在windows中,perl 报告“无法加载 'xxx\xxx.dll ',而在linux中,perl 报告“无法从 /xx/xx/xx.so 的共享对象映射段”。

但是,如果我将此脚本复制到 Windows 的本地磁盘或 linux 中的非共享文件夹,我可以编译它而不会出现任何错误或警告。

这个问题让我很困惑,尤其是为什么它在 Windows 中失败了。

PS:我试过 1. chmod +x 到文件夹和_Inline/xx/xx/xxx.so,失败了。2. 通过 /srv/dev-disk-by-label-NAS01/xxx/ 访问此文件夹,而不是 /sharedfolders/xxx/,失败。3. sudo perl xxx.pl,失败

标签: cperlinline

解决方案


推荐阅读