let Test2Object = puerts.load('../Output/Bin/Test2');
const Testobject = Test2Object.Test2;
const obj = new Testobject();
报错信息:
Error: dlopen fail for ..\Output\Bin\Test2.dll, error: Win32 error 126
at Object.load (E:\code\PIE-Cloud\PIE-Earth\PIE-Earth-SDK\PIE-Earth\jni\Runtime\PIEEarth-NodeJS\node_modules\puerts\lib\puerts_node.js:28:38)
at Object. (E:\code\PIE-Cloud\PIE-Earth\PIE-Earth-SDK\PIE-Earth\jni\Runtime\PIEEarth-NodeJS\js\test.js:4:26)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:86:12)
at node:internal/main/run_main_module:23:47
新建第一个模块,Test,新建一个c++类,Test,导出为Test.dll,code如下:
pragma once
include
include
// Shared library support
ifdef WIN32
define EEXPORT __declspec(dllexport)
define EIMPORT __declspec(dllimport)
else
define EEXPORT
define EIMPORT
endif
ifdef TEST_EXPORTS
define TEST_API EEXPORT
else
define TEST_API EIMPORT
endif
class TEST_API Test { public: Test() { std::cout << "Test()" << std::endl; } };
新建第二个模块,Test2,新建一个C++类,Test2,依赖第一个模块,导出为Test2.dll,code如下:
.h
pragma once
include "Test.h"
class Test2 { public: Test2() { Test test; std::cout << "Test2" << std::endl; }
};
.cpp
include
include
include
include "Test2.h"
UsingCppType(Test2); void Init() { puerts::DefineClass()
.Constructor()
.Register();
}
PESAPI_MODULE(Test2, Init)
node测试js Test.dll和Test2.dll都在Bin目录下:
const puerts = require("puerts");
let Test2Object = puerts.load('../Output/Bin/Test2'); const Testobject = Test2Object.Test2; const obj = new Testobject();
报错信息: Error: dlopen fail for ..\Output\Bin\Test2.dll, error: Win32 error 126 at Object.load (E:\code\PIE-Cloud\PIE-Earth\PIE-Earth-SDK\PIE-Earth\jni\Runtime\PIEEarth-NodeJS\node_modules\puerts\lib\puerts_node.js:28:38) at Object. (E:\code\PIE-Cloud\PIE-Earth\PIE-Earth-SDK\PIE-Earth\jni\Runtime\PIEEarth-NodeJS\js\test.js:4:26)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:86:12)
at node:internal/main/run_main_module:23:47