金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 654091
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫
asio 成為C++首選網(wǎng)絡(luò)庫
--linda
2.?re: log4cxx中文輸出錯誤補(bǔ)丁
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補(bǔ)丁
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補(bǔ)丁
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11017)
2.?SVN中邪惡的replace(10939)
3.?VS2005編譯libevent(10404)
4.?混音算法的學(xué)習(xí)與研究(10184)
5.?C調(diào)用lua腳本的效率測試(9003)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
VS2005編譯libevent
libevent版本為libevent-1.4.5-stable。
WIN32-Prj目錄下有VC項目文件。
libevent.sln不能用,因為只有regress有vcproj文件,其他子項目都是dsp文件。
而libevent.dsw不包括regress。
刪除sln文件,直接打開dsw文件,自動轉(zhuǎn)換除regress之外的4個工程為vcproj。
fatal error C1083: 無法打開包括文件:“sys/time.h”
#ifdef _EVENT_HAVE_SYS_TIME_H
#include <sys/time.h>
應(yīng)該去除_EVENT_HAVE_SYS_TIME_H,不要包含sys/time.h。
_EVENT_HAVE_SYS_TIME_H 定義于 event-config.h,肯定會包含進(jìn)來,
所以必須更改 event-config.h 文件。
為VS2005復(fù)制一份libevent,然后更改它。
config.h是由configure生成的。
make時根據(jù) config.h 生成event-config.h,但有個缺省的event-config.h。
MSVC編譯時不能生成config.h文件,而應(yīng)該使WIN32-Code/config.h生效。
用MSVC編譯WIN32-Code/win32.c時會包含該WIN32-Code/config.h。
event-config.h要手工改,memcached項目有針對libevent1.4.4的更改,可拿來用。
(libevent-1.4.4-stable-win32.zip,http://code.jellycan.com/memcached/,但下載一點(diǎn)就會斷)
參考jellycan的libevent.diff,即對libevent1.4.4的更改。
參考spserver項目中的libevent-main-iocp-1也行。
用libevent-main-iocp-1\WIN32-Code\event-config.h代替event-config.h。
去除mics.c。libevent可編譯成功。
但是幾個test項目無法成功編譯,應(yīng)該是因為沒有config.h的配置。
對于event_test項目:
__func__未定義。直接在項目宏定義中添加__func__=__FUNCTION__。
實際上該定義在WIN32-Code\config.h中有。
libevent.lib(event.obj) : error LNK2019: 無法解析的外部符號 _evutil_gettimeofday,該符號在函數(shù) _gettime 中被引用
但是libevent.lib只有event.c,還缺許多函數(shù)。
在libevent項目中再添加buffer.c evbuffer.c evutil.c singal.c strlcpy.c,并重新生成。
(可參考configure生成的Makefile決定需要哪些文件。)
無法解析的外部符號 __imp__select@20,該符號在函數(shù) _win32_dispatch 中被引用
添加ws2_32.lib
WinSocket未初始化,evutil_socketpair調(diào)用socket()失敗。
在main()中event_init()之前添加WSAStartup()。
參見regress的main()。
現(xiàn)在event_test可以編譯運(yùn)行,但會立即退出。
原因是win32_dispatch()中的select()調(diào)用出錯,WSAENOTSOCK (10038),
對非socket應(yīng)用select()就會報這個錯誤。
(轉(zhuǎn)載請注明來源于金慶的專欄)
posted on 2008-07-07 09:22
金慶
閱讀(10404)
評論(21)
編輯
收藏
引用
所屬分類:
1. C/C++
評論
#
re: VS2005編譯libevent
2008-07-07 12:53
Kevin Lynx
libevent在windows下似乎沒多大實用價值(因為用的是select)。spserver的作者寫了個IOCP版本。
回復(fù)
更多評論
#
re: VS2005編譯libevent
2008-07-07 14:34
true
最近也研究過libevent,自身帶的sln,確實編譯不過,該也起來麻煩,至今也沒編譯通過,過段時間再研究吧,希望libevent的作者,提出官方的解決方案
回復(fù)
更多評論
#
re: VS2005編譯libevent[未登錄]
2008-07-08 10:26
我要去桂林
我都編譯一周了
還沒過去
郁悶?zāi)?nbsp;
回復(fù)
更多評論
#
re: VS2005編譯libevent[未登錄]
2008-07-08 13:22
我要去桂林
我的錯誤信息:
4>c:\documents and settings\user\桌面\libevent-1.4.5-stable\libevent-1.4.5-stable\event.h(225) : error C2079: “ev_timeout”使用未定義的 struct“timeval”
4>c:\documents and settings\user\桌面\libevent-1.4.5-stable\libevent-1.4.5-stable\sample\time-test.c(35) : error C2079: “tv”使用未定義的 struct“timeval”
4>c:\documents and settings\user\桌面\libevent-1.4.5-stable\libevent-1.4.5-stable\sample\time-test.c(37) : warning C4244: “初始化”: 從“time_t”轉(zhuǎn)換到“int”,可能丟失數(shù)據(jù)
4>c:\documents and settings\user\桌面\libevent-1.4.5-stable\libevent-1.4.5-stable\sample\time-test.c(39) : error C2065: “__func__”: 未聲明的標(biāo)識符
4>c:\documents and settings\user\桌面\libevent-1.4.5-stable\libevent-1.4.5-stable\sample\time-test.c(43) : error C2223: “->tv_sec”的左側(cè)必須指向結(jié)構(gòu)/聯(lián)合
4>c:\documents and settings\user\桌面\libevent-1.4.5-stable\libevent-1.4.5-stable\sample\time-test.c(43) : error C2223: “->tv_usec”的左側(cè)必須指向結(jié)構(gòu)/聯(lián)合
4>c:\documents and settings\user\桌面\libevent-1.4.5-stable\libevent-1.4.5-stable\sample\time-test.c(44) : error C2224: “.tv_sec”的左側(cè)必須具有結(jié)構(gòu)/聯(lián)合類型
回復(fù)
更多評論
#
re: VS2005編譯libevent
2008-07-09 11:26
金慶
@我要去桂林
我只編譯了libevent和event_test兩個項目,還有兩個test項目要改的較多,沒必要一定通過。
你的這個錯誤說明libevent已經(jīng)通過,恭喜。time_test確實是通不過的。
回復(fù)
更多評論
#
re: VS2005編譯libevent
2008-07-09 14:55
spirit
好東西,之前也想研究下libevent,結(jié)果在windows沒編譯通過,就放到ubuntu下研究了,我再在win下試試。
回復(fù)
更多評論
#
re: VS2005編譯libevent[未登錄]
2008-07-10 13:25
我要去桂林
多謝 : 金慶
編譯通過了。
我主要想用: spserver 的http server集成到客戶端。
回復(fù)
更多評論
#
re: VS2005編譯libevent
2008-12-26 01:19
gashero
我用MinGW的,編譯是過去了,可是event_dispatch()那里出錯,根本無法進(jìn)入事件循環(huán)。
回復(fù)
更多評論
#
re: VS2005編譯libevent
2008-12-26 08:54
金慶
@gashero
是不是也是windows下的select()問題?
查找出錯原因應(yīng)該不難吧?
回復(fù)
更多評論
#
re: VS2005編譯libevent
2009-02-12 09:01
路過
@金慶
沒有那么麻煩吧,直接把win32-code下的config.h復(fù)制上來,改成event-config.h,編譯就OK了。
回復(fù)
更多評論
#
re: VS2005編譯libevent
2009-02-12 09:36
金慶
@路過
可能是這樣吧。大家可以這樣試試。
回復(fù)
更多評論
#
re: VS2005編譯libevent[未登錄]
2009-07-29 23:10
thinke365
select.c , epoll.c , kqueue.c也可以用vs 2005編譯碼?
回復(fù)
更多評論
#
re: VS2005編譯libevent
2009-07-30 09:02
金慶
@thinke365
select.c應(yīng)該可以,epoll.c, kqueue.c在Windows上用不到,應(yīng)該是不可編譯的,看看工程文件中是否包含了這兩個文件?
回復(fù)
更多評論
#
re: VS2005編譯libevent
2010-11-12 10:52
你好,
你好,我是一個大菜鳥,請問金慶先生:
1、在windows環(huán)境下用libevent庫,應(yīng)該是把libevent庫編譯成靜態(tài)庫吧;
2、我打開libevent-1.4.9-stable里面有兩個文件夾:一個是WIN32-Code和WIN32-Prj,我到底要進(jìn)哪個文件夾進(jìn)行編譯呢?
3、我的目標(biāo)只有一個,如果編譯出靜態(tài)庫,我在我的程序中如何設(shè)置。
回復(fù)
更多評論
#
re: VS2005編譯libevent
2010-11-12 11:22
金慶
@你好,
1. 動態(tài)庫也行, 一般還是靜態(tài)簡單點(diǎn)
2. 進(jìn)WIN32-Prj編譯
3. 需要設(shè)置Include目錄和Lib目錄
回復(fù)
更多評論
#
re: VS2005編譯libevent
2010-11-15 13:02
剛工作的新手
@金慶
首先非常感謝金老師在百忙這中抽時間回答了我在2010-11-12 10時52分的提出的三個問題:
因為我水平太菜,沒能編譯成功官網(wǎng)的libevent,我這兩天用了一個iocp版本的libevent,在vc 6.0下編譯并通過了,在VC中也做了兩個DEMO都沒問題。
1、我想結(jié)合libevent和QT來編寫程序,我怎樣在我的QT程序中引用libevent,如何設(shè)置,是不是首先要用mingw來編譯libevent,怎么編譯,金老師在這方面有試過沒?
回復(fù)
更多評論
#
re: VS2005編譯libevent
2010-11-15 13:44
金慶
@剛工作的新手
引用libevent需要在編譯選項添加-L -l選項, 請查看gcc中相關(guān)的幫助. 需要用mingw編譯的, vc編譯的只能用于vc. mingw下直接make install應(yīng)該就可以了, 我忘了以前自己是怎么做的.
回復(fù)
更多評論
#
re: VS2005編譯libevent
2010-11-15 16:42
剛工作的新手
@金慶
謝謝金老師的回答,我搗騰搗騰。
回復(fù)
更多評論
#
re: VS2005編譯libevent[未登錄]
2011-01-05 23:40
hustnn
請問struct event_list 在哪里定義的?
回復(fù)
更多評論
#
re: VS2005編譯libevent
2011-01-06 11:29
金慶
@hustnn
自己搜索一下吧:)
回復(fù)
更多評論
#
re: VS2005編譯libevent
2013-11-13 11:37
junx1989
@我要去桂林
包含 windows.h 把開頭處變成:
#include <sys/stat.h>
#ifndef WIN32
#include <sys/queue.h>
#include <unistd.h>
#else
#include <windows.h>
#endif
#include <time.h>
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
C++ parameter passing rules
Naming Conventions for Accessors
Visual Studio 2019 Compiler Hangs
Fbx File Format Identifier
查找內(nèi)存錯誤
std::thread 中的異常會丟失調(diào)用棧
用賦值代替 protobuf CopyFrom()
vs2017 linux 編譯輸出改成 vs 格式
為 LiteIDE 添加選中標(biāo)記
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
久久久久免费看成人影片
|
亚洲AV无码1区2区久久
|
久久久亚洲AV波多野结衣
|
少妇久久久久久被弄高潮
|
久久不见久久见免费影院www日本
|
亚洲精品WWW久久久久久
|
国产精品无码久久综合
|
综合久久精品色
|
久久夜色精品国产亚洲
|
97久久香蕉国产线看观看
|
久久中文字幕无码专区
|
亚洲女久久久噜噜噜熟女
|
国产精品成人99久久久久
|
99久久婷婷国产综合精品草原
|
久久亚洲国产精品五月天婷
|
久久精品国产免费一区
|
色综合久久久久综合体桃花网
|
久久无码AV中文出轨人妻
|
国产精品青草久久久久福利99
|
久久噜噜电影你懂的
|
久久发布国产伦子伦精品
|
亚洲精品乱码久久久久66
|
久久久久久久波多野结衣高潮
|
中文字幕精品久久
|
亚洲äv永久无码精品天堂久久
|
久久精品二区
|
老司机午夜网站国内精品久久久久久久久
|
国内精品九九久久久精品
|
久久九九久精品国产免费直播
|
亚洲国产日韩欧美综合久久
|
久久国产精品免费一区二区三区
|
国产精品久久久天天影视香蕉
|
精品国产青草久久久久福利
|
99久久国产热无码精品免费久久久久
|
69国产成人综合久久精品
|
国产精品久久影院
|
亚洲国产二区三区久久
|
精品久久久久一区二区三区
|
久久久精品国产
|
久久人人爽人人爽人人片AV不
|
日韩精品无码久久久久久
|