我想将我的库项目移植到biicode,但是我的示例使用的二进制文件对于biicode块来说太大了(有12MB的限制),所以我将示例文件夹添加到ignore.bii文件中。 问题是它现在查找示例/ CMakeLists.txt,因为我正在使用包含在
中的旧CMakeLists.txtIF(BIICODE)
INIT_BIICODE_BLOCK()
ADD_BIICODE_TARGETS()
ELSE()
#MY OLD CMAKELIST HERE
ENDIF()
它实际上构建正常,但bii deps
仍试图解决依赖
我该怎么办?因为该项目已经在github上,我真的不想删除或改变太多东西来支持biicode。
编辑: 以下是该项目的链接:https://github.com/Lectem/libmpo 我在biicode.conf中按照
的方式尝试了一些东西[dependencies]
CMakeLists.txt - example/CMakeLists.txt
include/libmpo/mpo.h - jpeglib.h
但我明白了:
WARN: Lectem/libmpo/biicode.conf, [dependencies] CMakeLists.txt - example/CMakeLists.txt
There are no files matching pattern example/CMakeLists.txt
WARN: Lectem/libmpo/biicode.conf, [dependencies] include/libmpo/mpo.h - jpeglib.h
There are no files matching pattern jpeglib.h
Lectem/libmpo depends on:
Lectem/libmpo (self)
include/libmpo/cmpo.h
src/cmpo.c (E)
include/libmpo/mpo.h
src/cmpo.c (E)
src/dmpo.c (E)
src/mpo.c (E)
src/cmpo.c
include/libmpo/cmpo.h (I)
src/dmpo.c
include/libmpo/mpo.h (I)
src/mpo.c
include/libmpo/mpo.h (I)
jpeg/jpeg: 0
jpeglib.h
include/libmpo/mpo.h (E)
system:
assert.h
src/cmpo.c
src/mpo.c
stdint.h
include/libmpo/mpo.h
stdio.h
include/libmpo/mpo.h
stdlib.h
include/libmpo/mpo.h
unresolved:
example/CMakeLists.txt
CMakeLists.txt
jpeglib.h
include/libmpo/mpo.h
我还试图删除jpeglib.h依赖项,因为我放了以下宏:
#ifdef BII
#include <jpeg/jpeg/jpeglib.h>
#else
#include <jpeglib.h>
#endif
答案 0 :(得分:0)
没有必要修改你的源代码,如果你想做这样的检查,那就是#ifdef BIICODE。
所以保持代码原样,并使用biicode.conf中的[includes]部分:
[requirements]
jpeg/jpeg: 1
[paths]
include
[includes]
jpeglib.h: jpeg/jpeg
现在有一个12 MB的限制,但您可以使用当前大小解决它,添加一个ignore.bii文件:
example/*.mpo
*.pdf
然后将ADD_BIICODE_TARGETS宏添加到您的cmake就足够了,它将管理所有内容,所以只需在CMakeLists.txt的开头添加
IF(BIICODE)
ADD_BIICODE_TARGETS()
return()
ENDIF()
确实,biicode中的jpeg lib版本似乎存在问题,但它在biicode版本jpeg / jpeg:1中修复并升级为jpeg9,这是biicode.conf中的一个。
将此添加到您的回购协议中,您应该能够&#34; bii build&#34;并在bin文件夹中运行生成的示例。我用MinGW 4.8进行了测试并且工作了。