2016年8月16日星期二

编译podofo时的错误

无论编译成静态还是动态,都会报
/home/advuser/src/lib/comm/pdf/podofo-src/src/base/PdfMemoryManagement.cpp:133: error: ‘SIZE_MAX’ was not declared in this scope,查看/usr/include/stdint.h的代码,

#if !defined __cplusplus || defined __STDC_LIMIT_MACROS
...
#  define SIZE_MAX              (18446744073709551615UL)
# else
#  define SIZE_MAX              (4294967295U)
# endif
...
#endif

#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
#endif

也就是得先定义__STDC_LIMIT_MACROS再include stdint.h。

那么就修改cmake的podofo_src下面的CMakeLists.txt,追加上

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS")

就OK了。

没有评论:

发表评论