gyp linux,使用gyp

article/2025/10/4 12:50:58

54707bc970eb239cf7702e9cab60b482.pngGYP(Generate You Project),生成IDE项目的工具,使用Python脚本写成,配置文件为JSON格式。

使用gyp需要两个环境,python和gyp。gyp可以直接在这里下载

git clone https://chromium.googlesource.com/external/gyp

一般下载到build/gyp

使用python将我们的gyp文件加载并运行起来

Shell

import gyp // 载入gyp模块

import sys

import os

args = sys.argv[1:]

args.append(os.path.join(os.path.abspath(uv_root), 'test.gyp'))

def run_gyp(args) :

rc = gyp.main(args) // gyp初始化

if rc != 0 :

print('Error running GYP')

sys.exit(rc)

1

2

3

4

5

6

7

8

9

10

11

12

importgyp//载入gyp模块

importsys

importos

args=sys.argv[1:]

args.append(os.path.join(os.path.abspath(uv_root),'test.gyp'))

defrun_gyp(args):

rc=gyp.main(args)//gyp初始化

ifrc!=0:

print('Error running GYP')

sys.exit(rc)

args中可以添加工程的配置文件,大概格式如下:

Shell

{

'target_defaults': {

'conditions': [

['OS != "win"', {

'defines': [

'_LARGEFILE_SOURCE',

'_FILE_OFFSET_BITS=64',

],

'conditions': [

['OS=="solaris"', {

'cflags': [ '-pthreads' ],

}],

['OS not in "solaris android"', {

'cflags': [ '-pthread' ],

}],

],

}],

],

'xcode_settings': {

'WARNING_CFLAGS': [ '-Wall', '-Wextra', '-Wno-unused-parameter' ],

'OTHER_CFLAGS': [ '-g', '--std=gnu89', '-pedantic' ],

}

},

target: [

{

'target_name': 'hello',

'type': 'executable',

'dependencies': [ 'libuv' ],

'sources': [

'hello.c',

],

'conditions': [

[ 'OS=="win"', {

'sources': [

],

'libraries': [ '-lws2_32' ]

}, { # POSIX

'defines': [ '_GNU_SOURCE' ],

'sources': [

'test/runner-unix.c',

'test/runner-unix.h',

]

}],

['uv_library=="shared_library"', {

'defines': [ 'USING_UV_SHARED=1' ]

}],

],

'msvs-settings': {

'VCLinkerTool': {

'SubSystem': 1, # /subsystem:console

},

},

},

]

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

{

'target_defaults':{

'conditions':[

['OS != "win"',{

'defines':[

'_LARGEFILE_SOURCE',

'_FILE_OFFSET_BITS=64',

],

'conditions':[

['OS=="solaris"',{

'cflags':['-pthreads'],

}],

['OS not in "solaris android"',{

'cflags':['-pthread'],

}],

],

}],

],

'xcode_settings':{

'WARNING_CFLAGS':['-Wall','-Wextra','-Wno-unused-parameter'],

'OTHER_CFLAGS':['-g','--std=gnu89','-pedantic'],

}

},

target:[

{

'target_name':'hello',

'type':'executable',

'dependencies':['libuv'],

'sources':[

'hello.c',

],

'conditions':[

['OS=="win"',{

'sources':[

],

'libraries':['-lws2_32']

},{# POSIX

'defines':['_GNU_SOURCE'],

'sources':[

'test/runner-unix.c',

'test/runner-unix.h',

]

}],

['uv_library=="shared_library"',{

'defines':['USING_UV_SHARED=1']

}],

],

'msvs-settings':{

'VCLinkerTool':{

'SubSystem':1,# /subsystem:console

},

},

},

]

}

target_name:工程名

type: 工程类型

dependencies: 依赖文件夹

sources: 源文件

conditions:条件判断

msvs-settings:msvs额外设置


http://chatgpt.dhexx.cn/article/o925HQhm.shtml

相关文章

gyp ERR!报错解决

项目安装依赖包的时候,多次出现gyp ERR!或者node-pre-gyp ERR!这种错,记录一下最近遇到的报错: 用过两次这种解决办法,都能把依赖下好,项目跑起来 npm instal --unsafe-perm 或者 yarn --unsafe-perm 运…

解决gyp err 错误

npm install 安装失败 有一堆报错,大概意思就是node-gyp没有安装成功,以及需要一些python的环境 解决步骤 1、安装python环境 2、以管理员身份执行 npm install --g --production windows-build-tools 3、之后在安装完成后会在C:WindowsSystem32里找到一…

gyp ERR! find Python 解决方案

命令行报错 npm install npm WARN deprecated fsevents2.1.3: "Please update to latest v2.3 or v2.2" npm WARN deprecated fsevents1.2.13: fsevents 1 will break on node v14 and could be using insecure binaries. Upgrade to fsevents 2.> heapdump0.3.…

node-gyp 报错

error C:\xxx\node_modules\fibers: Command failed. 设置后还是会报错需要下载Visual Studio 访问地址GitHub - nodejs/node-gyp: Node.js native addon build tool 安装完之后设置使用路径就好了 npm config set msvs_version "C:\Program Files (x86)\Microsoft Visual…

【解决】gyp ERR! node -v v12.7.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok

使用npm install报错如下 原因 这是 node-sass、sass-loader 安装的版本和电脑安装的 node.js 版本不兼容导致的错误 解决办法 我的node.js版本是:v12.7.0 在项目目的package.json文件把 node-sass 和 sass-loader 的修改成如下版本,npm i…

npm ERR! gyp verb等一系列错

npm ERR! code 1 npm ERR! path F:\新桌面\大三下\生产实习\mock-devices-master\mock-devices-master\node_modules\node-sass npm ERR! command failed npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js npm ERR! Building: E:\Environment\Nod…

gyp ERR find Python 解决方案

命令行报错如下 E:\vue-admin\node_modules\fibers>if not defined npm_config_node_gyp (node "D:\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild --releas e ) else (node "…

数据库-查询数据

查询表中所有字段数据:select * from 表名; 查询表中部分字段数据:select 字段1,字段2 from 表名; 3.运用关系运算符查询:select * from 表名 where 字段名 运算符 数值(在单个字段的范围&am…

数据库查询语句

数据库查询语句无疑是所有语句中,最重要的语句,经常配合where一起使用 1. 最基本的查询 公式1:select * from 表名 -- 查看aaa表中的所有数据 SELECT * FROM aaa 你说,我不想查看表中所有的数据,我就想查看表中id字…

数据库查询和数据操纵

根据实验2在学生作业管理数据库Mydb中创建的学生表、课程表和学生作业表,进行以下操作。 使用查询语句完成以下任务(每一个查询都要给出SQL语句,并且列出查询结果)。 (1)查询与“张志国”同一班级的学生信息…

数据库中的数据查询

数据库中的数据查询 数据库表是存储数据库中所有数据的对象。在表中,数据按行和列格式逻辑组织,类似于电子表格。 在表中,每行代表一个唯一记录,每列代表记录中的一个字段。例如, SYS_User表包含用户数据,…

数据库---数据查询

实验目的 熟练掌握使用SQL查询语言。完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。 实验内容 现有一个单位内部的小型图书借阅系统,假设每本图书的数量无限制,并且可以借给任何单…

MySQL数据库数据查询

1.投影查询 1.1 查询student表中所有学生的学号、姓名和专业。 1.2 查询student表中所有列。 1.3 查询student表中所有学生的学生的sno、sname、speciality,并将结果中各列的标题分别修改为学号, 姓名, 专业。 1.4 设student1表的表结构和样本数据与student表相同…

MYSQL介绍——数据库查询(重点)

条件查询 很多时候,我们使用数据库时并不是关心表里所有的数据,而是一部分满足条件的数据,这类条件要用WHERE子 句来实现数据的筛选。 SELECT …… FROM …… WHERE 条件 [ AND | OR ] 条件 …… ;下面给出一个示例: SELECT * …

MySQL --- 数据库查询 - 基本查询

基本查询 MySQL 数据库使用SELECT语句来查询数据。 1. 查询多个字段 以下为在MySQL数据库中查询数据通用的 SELECT 语法: SELECT 字段名,字段名... FROM 表名; SELECT * FROM 表名; #查询所有字段 查询语句中可以使用一个或者多个表&#xff0c…

Database:数据库查询

学习笔记:使用SQL语句进行数据查询 Copyright: Jingmin Wei, Pattern Recognition and Intelligent System, School of Artificial and Intelligence, Huazhong University of Science and Technology 文章目录 学习笔记:使用SQL语句进行数据查询准备数…

数据库查询操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、复杂查询的相关操作:二.表的设计三.聚合查询四.联合查询:五.外连接六.自连接七.子查询八.合并查询 前言 提示:这里可以…

MySQL数据库查询数据

查询数据 数据库管理系统的一个最重要的功能就是数据查询,数据查询不应只是简单查询数据库中存储的数据,还应该根据需要对数据进行筛选,以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作。 基本查询语句 mys…

数据库查询语句-详细篇

今天来梳理一下数据库的一些查询语句,做软件/移动端/电脑端,开发程序时必然离不开数据库的设计以及查询; 一:具体的代码如下展示: 1.查询数据库指定表的所有信息 select * from uploadimagecode;2.查询当前数据表部…

数据库的查询操作

数据库的查询操作 1 DQL_基础查询 本案例使用到SQL语句的代码如下: USE db1; -- 使用数据库 CREATE TABLE student ( id int, -- 编号 name varchar(20), -- 姓名 age int, -- 年龄 sex varchar(5), -- 性别 address varchar(100), -- 地址 math int, -- 数学 …