FlyThings IDE 预览版(DEV)

[!TIP] 预览版可以更早地体验新功能,但可能存在不兼容的更新

下载 FlyThings IDE 预览版

预览版本采用新的项目结构,但是大体保持不变。

项目结构的更改

  • jni目录更改为src
  • 移除项目根目录下的Makefile,改为Manifest.xml代替
  • 编译项目后,将生成Release文件夹,它用于存放编译过程中产生的临时文件,可随意删除,下次编译会再次自动生成。

Manifest.xml

Manifest.xml 是一个XML格式的文件,包含调整项目平台,管理依赖项,制作动态库、静态库的功能。

新建项目后,默认的文件内容如下

<?xml version="1.0" encoding="UTF-8"?>          <!-- 固定格式 -->
<!DOCTYPE xml>                                  <!-- 固定格式 -->

<manifest platform="Z21">                       <!-- 根元素必须是manifest -->
                                                <!-- 属性platform指定项目用于Z21平台 -->


    <dependencies>                              <!-- dependencies 下可以包含多个package -->
        <package id="easyui" version="0.0.0"/>  <!-- package表示依赖包,并指定id及version属性 -->
        <package id="log" version="0.0.0"/>
        <package id="zkhardware" version="0.0.0"/>
        <package id="zknet" version="0.0.0"/>

        <!-- 可添加多个依赖包 -->

    </dependencies>
</manifest>

更改项目平台

修改 Manifest.xml 根元素 的 platform 属性,再次编译生效

<manifest platform="Z21">

依赖项

新建项目后,默认生成的Manifest.xml已包含该平台需要的最小依赖项。
每个平台的最小依赖项不完全相同,如果更改项目平台,还需要调整合适的依赖项

生成静态库或动态库

修改 Manifest.xml ,添加target元素。
示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<manifest platform="Z21">
    <dependencies>
        <package id="easyui" version="0.0.0" />
        <package id="log" version="0.0.0" />
        <package id="zkhardware" version="0.0.0" />
        <package id="zknet" version="0.0.0" />
    </dependencies>


    <targets>
        <!-- 生成libfoo1.a 静态链接库 -->
        <target id="foo1" type="staticLibrary">   
            <header filter="src/foo/hello.h" />
            <source filter="src/foo/hello.cpp" />
        </target>

        <!-- 生成libfoo2.so 动态链接库 -->
        <target id="foo2" type="sharedLibrary">
            <header filter="src/foo/hello.h" />
            <source filter="src/foo/hello.cpp" />
        </target>
    </targets>

</manifest>

targetid属性表示库名称,type表示库的类型, staticLibrary 表示静态链接库, sharedLibrary 表示动态链接库。

header元素 用于指定需要随库提供的头文件,filter属性表示文件的路径,支持通配符
source元素 用于指定需要编译成库的源文件,filter属性表示文件的路径,支持通配符
可以根据情况,添加多个 headersource 元素

编译项目后,静态链接库和动态链接库将生成到 Release目录下

添加本地静态链接库或者动态链接库

如果是私有的静态库或者动态库,可以将库文件放到约定的目录下,编译代码时,将自动链接。

  1. 在项目的src目录下,添加dependencies目录
  2. dependencies目录下,添加include目录, 编译时,该目录视为头文件搜索目录
  3. dependencies目录下,添加lib目录,编译时,会自动链接该目录下所有的静态库及动态库
    (库文件名必须以lib开头,静态库以.a作为后缀名,动态库以.so作为后缀名,否则将忽略)

    如果dependencies目录内,非lib目录内,存在动态链接库,这些库仅随程序打包,但不参与编译

  4. 复制库的头文件到新建的include目录下,复制库文件放到lib目录下
    完成后,目录结构类似如下。

  5. 最后选择项目名,右键,在弹出的上下文菜单中选择重新构建依赖信息,再次编译项目,依赖生效。

powered by Gitbooklast modified: 2023-05-24 19:30:03

results matching ""

    No results matching ""