[資料庫中介軟體]centos6.6下配置libzdb所產生的錯誤

風痕影默發表於2014-12-30

1、關於gmtime_r、timegm的隱藏宣告錯誤,從系統的time.h中複製兩個函式引用到libzdb自己定義的time.h,程式碼如下:

extern struct tm *gmtime_r (const time_t *__restrict __timer,
                struct tm *__restrict __tp) __THROW;
extern time_t timegm (struct tm *__tp) __THROW;

2、在eclipse for c/c++中編譯報C99錯誤,如下路徑中新增如下內容:

右擊專案->properities->c/c++ Build->setting->tool settings->GCC C Compiler右邊的“Command:”框中由原來的“gcc”改為“gcc --std=c99”;

 3、INT32_MAX、INT32_MIN未宣告錯誤,加如下程式碼:

#include <stdint.h>  
#include <inttypes.h>  

4、遇到oracle控制程式碼等以OCI開頭的未定義問題 ,mysql等的未定義問題,以及collect2: 錯誤:ld 返回 1庫未連線的問題。解決如下:

setting->complier->complier setting->other options中新增:`mysql_config --cflags`
linker settings->link libraries中新增:libpthread.so.0
linker settings->other link options中新增:
-L/oradb/ora10g/oracle/product/10.2.0/db_1/lib/ -lclntsh
`mysql_config --libs`

5、遇到error while loading shared libraries: libdb2.so.11.1: cannot open shared object file: No such file or directory類似的錯誤

在/etc/ld.so.conf 檔案中新增:
所顯示這個動態連結庫的目錄,我這裡出現過libdb2.so.1和liblclntsh.so.11.1的錯誤,因此我新增了兩個路徑如下
/home/oracle/sqllib/lib64
/oracle/oraclebase/product/11.2.0/db_1/lib
然後執行命令ldconfig,可能會出現錯誤但是再執行程式已經可以執行了

 



相關文章