Win10 64位环境下使用MinGW+CMake编译ObjectBox构建失败求助
核心错误原因
构建失败的根因是项目依赖的ObjectBox预编译导入库libobjectbox.dll.a未被正确拉取到本地构建目录,链接阶段找不到对应依赖文件触发终止,对应日志核心报错为:
mingw32-make.exe[2]: *** No rule to make target '_deps/objectbox-download-src/lib/libobjectbox.dll.a', needed by 'src-test/objectbox-c-test.exe'. Stop.
解决步骤
- 清理旧构建缓存:关闭Code::Blocks,删除
C:/objectbox-c-main/bin目录下的所有文件,清除失效的Makefile配置。 - 校验依赖拉取逻辑:进入
C:/objectbox-c-main目录新建命令行窗口,执行cmake -B bin -G "MinGW Makefiles",观察控制台输出是否有ObjectBox库下载成功的提示。如果因网络问题下载失败,可手动获取MinGW 64位对应的ObjectBox预编译包,将解压后的libobjectbox.dll.a放入C:/objectbox-c-main/bin/_deps/objectbox-download-src/lib/路径下,路径不存在则手动创建对应文件夹。 - 确认架构匹配:检查当前使用的MinGW为64位版本,与ObjectBox预编译库架构保持一致,32位与64位库不兼容会导致文件无法被识别。
- 跳过测试构建(可选):如果不需要编译测试用例,可在执行cmake命令时添加参数
-DOBJECTBOX_BUILD_TESTS=OFF,直接跳过测试目标的编译,也可以规避该报错完成核心库的构建。 - 重新构建:完成上述操作后,重新打开Code::Blocks加载项目执行构建即可。
内容的提问来源于stack exchange,提问作者meirab
相关产品推荐
相关产品推荐

