在Xilinx Vitis中创建并使用静态库
1. 创建静态库项目
新建项目:
打开Xilinx Vitis,点击 File → New → Project。
选择 Xilinx → C Project,点击 Next。
输入项目名称(如 MyStaticLib),在 Project Type 中选择 Empty Application。
在 OS Platform 选择 Standalone,点击 Next。
在 Templates 中选择 Empty Application,点击 Finish。配置为静态库:
右键项目,选择 Properties → C/C++ Build → Settings。
在 Tool Settings → Standard Library 下,勾选 Generate static library (-static)。
确认输出文件名为 libMyStaticLib.a(默认路径在 Debug 或 Release 目录)。添加代码:
创建头文件 mylib.h:
c
复制
#ifndef MYLIB_H #define MYLIB_H int add(int a, int b); int multiply(int a, int b); #endif
创建源文件 mylib.c:
c
复制
#include "mylib.h" int add(int a, int b) { return a + b; } int multiply(int a, int b) { return a * b; }
编译项目生成 libMyStaticLib.a。2. 创建应用项目
新建应用项目:
点击 File → New → Application Project。
输入项目名称(如 MyApp),选择相同的硬件平台,点击 Next。
选择 Hello World 模板,点击 Finish。添加代码:
修改 helloworld.c 为:
c
复制
#include "mylib.h" #include int main() { printf("3 + 4 = %d\n", add(3, 4)); printf("3 * 4 = %d\n", multiply(3, 4)); return 0; }3. 配置应用项目
添加头文件路径:
右键应用项目 → Properties → C/C++ General → Paths and Symbols → Includes。
添加静态库项目的头文件目录(如 ../MyStaticLib/src)。链接静态库:
进入 Properties → C/C++ Build → Settings → Libraries。
在 Libraries (-l) 中添加 MyStaticLib(省略 lib 前缀和 .a 后缀)。
在 Library Search Path (-L) 中添加静态库路径(如 ../MyStaticLib/Debug)。设置项目依赖:
右键应用项目 → Properties → Project References,勾选 MyStaticLib,确保先编译库。4. 构建与测试
构建:右键应用项目 → Build Project。
运行:右键项目 → Run As → Launch on Hardware,查看输出结果。
常见问题解决
未找到头文件:检查 Includes 路径是否正确。
未定义函数:确认库名称和路径正确,或手动添加库文件全名至链接器选项。
架构不匹配:确保库和应用项目使用相同的处理器配置和编译选项。
通过以上步骤,您可以在Xilinx SDK中成功创建并使用静态库。