在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中成功创建并使用静态库。 注意: 在 ARM v7 gcc linker → Libraries 里把 llibBSP 改成 BSP(不要带 lib、不要带 .a)。 在 Library search path (-L) 里确保有: ${workspace_loc:/BSP/Debug}(或你的库工程名/输出目录) 链接器会在 -L 指定目录下自动找 libBSP.a
posted @ 2025-09-16 09:04  日暮途远7  阅读(49)  评论(0)    收藏  举报