我为windows创建了一个lua模块,一个DLL,它有许多依赖项。这些依赖关系是模块DLL正常运行所必需的,大多数依赖关系都是C ++运行时库(libstdc + -6.dll和libgcc_s_seh-1.dll等)。我正在尝试使用package.loadlib
调用加载模块:
init = assert(package.loadlib("C:\\Path\\To\\My\\Module.DLL", "luaopen_MyModule"))
init()
依赖项和模块DLL位于主可执行文件DLL之外的另一个文件夹中。因此,似乎package.loadlib
无法找到模块的依赖关系。将这些依赖项的路径添加到PATH变量时,它可以正常工作,但我不允许在将使用lua模块的机器上修改PATH,也不能静态链接到依赖项。
有没有办法从lua指定依赖项的搜索路径? lua将仅用于Windows系统,因此解决方案可能取决于平台。
答案 0 :(得分:3)
如果您无法静态包含这些依赖项或修改PATH以影响DLL搜索,则可以尝试其他选项:在加载{{1}之前,使用相同的<div class="site-index">
<div class="body-content">
<div class='col-sm-6 col-md-6' id='id'>
<?php
$form1 = ActiveForm::begin([
'layout' => 'horizontal',
'action' => ['index1'],
'method' => 'get',
'fieldConfig' => [
'horizontalCssClasses' => [
'label' => 'col-sm-2',
'offset' => 'col-sm-offset-2',
'wrapper' => 'col-sm-4',
],
],
]);
...
?>
</div>
<div class='col-sm-6 col-md-6' id='id2'>
$form2 = ActiveForm::begin([
'layout' => 'horizontal',
'action' => ['index2'],
'method' => 'get',
'fieldConfig' => [
'horizontalCssClasses' => [
'label' => 'col-sm-2',
'offset' => 'col-sm-offset-2',
'wrapper' => 'col-sm-4',
],
],
]);
...
</div>
</div>
</div>
调用直接加载这些依赖项}}。当我想确保我的库依赖的DLL是从正确的位置加载时,我使用了这个:
package.loadlib