由于 openbabel 支持非常丰富的格式,所以很多库或者程序,都依赖于它。
使用 cmake + vs 编译的时候,经常会遇到问题,今天遇到一个就随手记录。
cmake 生成 data_header 时,是这样的:
add_custom_command(OUTPUT ${doutput}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bin2hex.pl ${CMAKE_CURRENT_SOURCE_DIR}/${dinput} ${dname} ${dname} > ${doutput}
DEPENDS ${dinput} VERBATIM)
set_source_files_properties(${doutput} PROPERTIES GENERATED TRUE)
list(APPEND dataheaderfiles ${doutput})
使用的是 perl 把 bin 文件转成头文件,首先本地要安装 perl, 才能进行 bin2hex.pl 脚本
但是这个命令在 windows 平台有问题,就是后面的参数无法传到脚本中,需要这样修改:
add_custom_command(OUTPUT ${doutput}
COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/bin2hex.pl ${CMAKE_CURRENT_SOURCE_DIR}/${dinput} ${dname} ${dname} > ${doutput}
DEPENDS ${dinput} VERBATIM)
set_source_files_properties(${doutput} PROPERTIES GENERATED TRUE)
list(APPEND dataheaderfiles ${doutput})
然后 cmake 生成 sln 工程后,运行 data_headers 项目,就可以生成正确的头文件了