-
Notifications
You must be signed in to change notification settings - Fork 0
SMake LLVM 使用方法
Yu Chen edited this page Jun 23, 2021
·
3 revisions
- 在项目目录下创建
package.json
文件。 - 安装项目依赖
npm i -D smake
- 在项目目录下创建
smake.js
文件。
编辑 smake.js
const { LLVM_Linux } = require('smake');
class linux_executable extends LLVM_Linux {
target = 'aarch64-linux-gnu';
files = ['src/main.c'];
}
module.exports = {
targets: [
linux_executable,
],
};
-
target
: x86_64-linux-gnu(默认), arm-linux-gnueabihf, aarch64-linux-gnu -
files
: 需要编译的文件
编辑 smake.js
const { LLVM_Win32 } = require('smake');
class win32_executable extends LLVM_Win32 {
ARCH = 'x86_64';
files = ['src/main.c'];
}
module.exports = {
targets: [
win32_executable,
],
};
-
ARCH
: x86_64(默认), i386 -
files
: 需要编译的文件
编辑 smake.js
const { LLVM_Darwin } = require('smake');
class darwin_executable extends LLVM_Darwin {
ARCH = 'arm64';
files = ['src/main.c'];
}
module.exports = {
targets: [
darwin_executable,
],
};
-
ARCH
: x86_64(默认), arm64 -
files
: 需要编译的文件
编辑 smake.js
class linux_static extends LLVM_Linux {
type = 'static';
files = ['src/lib.c'];
}
-
type
: binary(可执行文件,默认),static(静态库),shared(动态库)
class win32_x64 extends NODE_ADDON_Win32 {
includedirs = [
...super.includedirs,
'./node_modules/nan',
'./node_modules/node-addon-api',
];
files = ['src/addon.cc'];
}
- Windows 使用 NODE_ADDON_Win32,Linux 使用 NODE_ADDON_Linux,macOS 使用 NODE_ADDON_Darwin。
-
includedirs
:头文件目录,需要添加需要的头文件。