Windows下使用MSYS2开发和SDK教程

标签: SDK

探路者 2023-03-21 17:06:55

首先是一些相关资源的分享:

1. Windows下MSYS2 开发环境的地址:打包好的MSYS2的百度云地址

2. SDK相关开发教程和视频: 开发示例文档 , 开发教程视频


下面是如何在MSYS2 下编译SDK:

  1. 项目的目录结构可以参考下面:

将下载的sdk文件放到 include 目录下

将需要开发的 cpp 文件放在 src 下面。

myproject:
    - include
        - bin
        - include
        - lib
    - src
        - main.cpp
        - *.cpp
    - CMakeLists.txt



2. SDK项目一般使用CMAKE 来进行编译的, 下面就是一个CMAKE需要的 CMakeLists.txt 的示例模板

cmake_minimum_required(VERSION 3.10)
project(main VERSION 1.0.0)
# 将所有 .cpp 文件列出来
file(GLOB PLUGIN_SOURCE src/*.cpp)

# add_library 表示增加一个库文件目标
# 由于是使用 dlopen() 载入,需要是 MODULE 类型
add_library(${PROJECT_NAME} MODULE ${PLUGIN_SOURCE})
# 插件的文件名总是 main
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "main")
# module 类型的库不需要 lib 前缀
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")

# 链接 bex
add_library(bex SHARED IMPORTED)
set_target_properties(bex PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR}/include/include)
set_target_properties(bex PROPERTIES IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/include/bin/libbex.dll)
set_target_properties(bex PROPERTIES IMPORTED_IMPLIB ${PROJECT_SOURCE_DIR}/include/lib/libbex.dll.a)

target_link_libraries(${PROJECT_NAME} bex)


3. 如何使用 msys2 构建

打开 msys2 版的 mingw64 窗口(解压后 msys64-tmp 目录下的 mingw64.exe),进入到 SDK的开发目录层后新建一个 build 目录用于存储编译的文件

cd <my_project> 
mkdir build && cd build


进行 configure

cmake .. -G "MinGW Makefiles"


进行编译


为了方便可以设置一下 bash alias,将mingw32-make命名为make

nano ~/.bashrc

在最后一行添加:

alias make='mingw32-make'

重新加载bash信息

. ~/.bashrc

进行编译:

make -jN # N 表示开启的线程数

编译结束后会看到 main.dll 


在北太天元的安装目录下的 plugins 文件夹下 新建一个文件夹,名字为 你开发插件的名字,例如 myplugin


然后在北太天元的 

帮助 -> 插件

加载



---------------------------------------------------------------

示例中用到的所有文件附件:

附件

1718 0 0 收藏 回复

回复

回复

重置 提交