Я работаю над проектом google fusion table с c++. Я попытался установить библиотеку google api c++, загруженную с https://github.com/google/google-api-cpp-client. Когда я запустил >>./prepare_denpendencies.py, я получил ошибку, показанную ниже.
Может кто-нибудь помочь мне выяснить, где проблема? Или может кто-нибудь показать мне другой способ использовать таблицу Google Fusion без установки библиотеки? Благодарю!
Дополнительная информация:
cmake @2.8.12.2_0 (активный), установленный с использованием порта Mac. Mac OS X.
>> ./prepare_dependencies.py
Build packages = True
Download packages = True
Installing packages = True
Downloading files to /Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies
Installing packages to /Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/install
Initializing....
cmake-2.8.10.2.tar.gz already exists - skipping download from http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
cmake-2.8.10.2 already configured
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++ Building cmake-2.8.10.2 [all]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> Executing [make all] in /Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2
[ 1%] Built target cmIML_test
[ 4%] Built target cmsys
[ 5%] Built target cmsysTestDynload
[ 6%] Built target cmsys_c
[ 6%] Built target cmsysTestProcess
[ 6%] Built target cmsysTestSharedForward
[ 7%] Built target cmsysTestsC
[ 9%] Built target cmsysTestsCxx
[ 12%] Built target cmzlib
[ 12%] Building C object Utilities/cmcurl/CMakeFiles/cmcurl.dir/cookie.c.o
In file included from /Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/cookie.c:93:
/Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/strequal.h:41:8: error:
expected parameter declarator
size_t strlcat(char *dst, const char *src, size_t siz);
^
/usr/include/secure/_string.h:111:44: note: expanded from macro 'strlcat'
__builtin___strlcat_chk (dest, src, len, __darwin_obsz (dest))
^
/usr/include/secure/_common.h:39:62: note: expanded from macro '__darwin_obsz'
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIF...
^
/usr/include/secure/_common.h:30:32: note: expanded from macro
'_USE_FORTIFY_LEVEL'
# define _USE_FORTIFY_LEVEL 2
^
In file included from /Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/cookie.c:93:
/Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/strequal.h:41:8: error:
expected ')'
/usr/include/secure/_string.h:111:44: note: expanded from macro 'strlcat'
__builtin___strlcat_chk (dest, src, len, __darwin_obsz (dest))
^
/usr/include/secure/_common.h:39:62: note: expanded from macro '__darwin_obsz'
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIF...
^
/usr/include/secure/_common.h:30:32: note: expanded from macro
'_USE_FORTIFY_LEVEL'
# define _USE_FORTIFY_LEVEL 2
^
/Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/strequal.h:41:8: note:
to match this '('
/usr/include/secure/_string.h:111:44: note: expanded from macro 'strlcat'
__builtin___strlcat_chk (dest, src, len, __darwin_obsz (dest))
^
/usr/include/secure/_common.h:39:53: note: expanded from macro '__darwin_obsz'
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIF...
^
In file included from /Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/cookie.c:93:
/Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/strequal.h:41:8: warning:
type specifier missing, defaults to 'int' [-Wimplicit-int]
size_t strlcat(char *dst, const char *src, size_t siz);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:111:44: note: expanded from macro 'strlcat'
__builtin___strlcat_chk (dest, src, len, __darwin_obsz (dest))
^~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_common.h:39:31: note: expanded from macro '__darwin_obsz'
#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIF...
^~~~~~~~~~~~~~~~~~~~~
In file included from /Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/cookie.c:93:
/Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/strequal.h:41:8: error:
conflicting types for '__builtin___strlcat_chk'
/usr/include/secure/_string.h:111:3: note: expanded from macro 'strlcat'
__builtin___strlcat_chk (dest, src, len, __darwin_obsz (dest))
^
/Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2/Utilities/cmcurl/strequal.h:41:8: note:
'__builtin___strlcat_chk' is a builtin with type 'unsigned long (char *,
const char *, unsigned long, unsigned long)'
/usr/include/secure/_string.h:111:3: note: expanded from macro 'strlcat'
__builtin___strlcat_chk (dest, src, len, __darwin_obsz (dest))
^
1 warning and 3 errors generated.
make[2]: *** [Utilities/cmcurl/CMakeFiles/cmcurl.dir/cookie.c.o] Error 1
make[1]: *** [Utilities/cmcurl/CMakeFiles/cmcurl.dir/all] Error 2
make: *** [all] Error 2
Failed command: [make all] in /Users/zerocraft/KuaiPan/Course/ECEN489/google-api-cpp-client-0.1/external_dependencies/cmake-2.8.10.2
Failed to make cmake-2.8.10.2
Похож на проблему сборки cmake. Вы можете установить предварительно построенный бинарный файл cmake с сайта www.cmake.org и удалить сборку cmake из сценария подготовки. Или вы можете изменить сценарий, чтобы вывести более новую версию cmake. Я просто попытался создать текущий http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz на OSx с Xcode 5, и он построил отлично.