2012-10-30 82 views
1

感謝這個網站上的人,我能夠使用一個示例C++源文件。 https://gist.github.com/1893378 當我編譯,我得到一堆怪編譯器錯誤的:C++ Redis hiredis編譯器錯誤?

/home/.../workspace/redis-hiredis-3c46b13/pipelineTest.cpp: In function ‘void redisTop(redisContext*)’: 
/home/.../workspace/redis-hiredis-3c46b13/pipelineTest.cpp:142:32: error: invalid conversion from ‘void*’ to ‘redisReply*’ 
/home/../workspace/redis-hiredis-3c46b13/pipelineTest.cpp:162:25: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’ 
/home/=.../workspace/redis-hiredis-3c46b13/pipelineTest.cpp: In function ‘int main(int, char**)’: 

我意識到我可能是出於與hiredis libray同步的,但我使用的是最新一個。任何想法如何正確構建這個C++程序?

另外,我正在尋找一個完整的使用Redis的C++管道教程。這是在Java中一個很好的例子:

http://www.cafebabe.me/2011/05/redis-pipelines-and-transactions.html

有沒有實例教程這樣的C++?
無論哪種方式

回答

1

實際上,它是一個C程序,而不是C++。 C++編譯器通常比C編譯器更迂腐,並且抱怨。使用C++編譯器進行編譯需要稍作修改。

我都做了,並再次聯機把文件: https://gist.github.com/1893378

現在編譯罰款與G ++ 3.4和4.3

AFAIK,對Redis的沒有C++教程。我認爲在C++中處理Redis的最好方法是在hiredis之上開發自己的包裝類。這並不難。

+0

嗯。我仍然得到未解決錯誤的奇怪錯誤,但也許它只是我。我很多年沒有看過c或C++。無論如何,謝謝。 –

+0

附加的Makefile和彙編代碼的要點 –

+0

哇!這對我們新手或那些多年來沒有看過C++的人來說非常有幫助。非常感謝!我得到它的工作感謝你! –

0

這是一個C程序。你必須用C編譯器來構建它。