金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網游開發(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)
相冊
公告照片
搜索
積分與排名
積分 - 653959
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統C++網絡庫
asio 成為C++首選網絡庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--金慶
3.?re: mingw編譯OrzNet
能發送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11016)
2.?SVN中邪惡的replace(10938)
3.?VS2005編譯libevent(10404)
4.?混音算法的學習與研究(10183)
5.?C調用lua腳本的效率測試(9003)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優于指針(17)
5.?ACE與ASIO之間關于Socket編程的比較(16)
VS2005編譯libevent
libevent版本為libevent-1.4.5-stable。
WIN32-Prj目錄下有VC項目文件。
libevent.sln不能用,因為只有regress有vcproj文件,其他子項目都是dsp文件。
而libevent.dsw不包括regress。
刪除sln文件,直接打開dsw文件,自動轉換除regress之外的4個工程為vcproj。
fatal error C1083: 無法打開包括文件:“sys/time.h”
#ifdef _EVENT_HAVE_SYS_TIME_H
#include <sys/time.h>
應該去除_EVENT_HAVE_SYS_TIME_H,不要包含sys/time.h。
_EVENT_HAVE_SYS_TIME_H 定義于 event-config.h,肯定會包含進來,
所以必須更改 event-config.h 文件。
為VS2005復制一份libevent,然后更改它。
config.h是由configure生成的。
make時根據 config.h 生成event-config.h,但有個缺省的event-config.h。
MSVC編譯時不能生成config.h文件,而應該使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/,但下載一點就會斷)
參考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項目無法成功編譯,應該是因為沒有config.h的配置。
對于event_test項目:
__func__未定義。直接在項目宏定義中添加__func__=__FUNCTION__。
實際上該定義在WIN32-Code\config.h中有。
libevent.lib(event.obj) : error LNK2019: 無法解析的外部符號 _evutil_gettimeofday,該符號在函數 _gettime 中被引用
但是libevent.lib只有event.c,還缺許多函數。
在libevent項目中再添加buffer.c evbuffer.c evutil.c singal.c strlcpy.c,并重新生成。
(可參考configure生成的Makefile決定需要哪些文件。)
無法解析的外部符號 __imp__select@20,該符號在函數 _win32_dispatch 中被引用
添加ws2_32.lib
WinSocket未初始化,evutil_socketpair調用socket()失敗。
在main()中event_init()之前添加WSAStartup()。
參見regress的main()。
現在event_test可以編譯運行,但會立即退出。
原因是win32_dispatch()中的select()調用出錯,WSAENOTSOCK (10038),
對非socket應用select()就會報這個錯誤。
(轉載請注明來源于金慶的專欄)
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版本。
回復
更多評論
#
re: VS2005編譯libevent
2008-07-07 14:34
true
最近也研究過libevent,自身帶的sln,確實編譯不過,該也起來麻煩,至今也沒編譯通過,過段時間再研究吧,希望libevent的作者,提出官方的解決方案
回復
更多評論
#
re: VS2005編譯libevent[未登錄]
2008-07-08 10:26
我要去桂林
我都編譯一周了
還沒過去
郁悶呢
回復
更多評論
#
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”轉換到“int”,可能丟失數據
4>c:\documents and settings\user\桌面\libevent-1.4.5-stable\libevent-1.4.5-stable\sample\time-test.c(39) : error C2065: “__func__”: 未聲明的標識符
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”的左側必須指向結構/聯合
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”的左側必須指向結構/聯合
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”的左側必須具有結構/聯合類型
回復
更多評論
#
re: VS2005編譯libevent
2008-07-09 11:26
金慶
@我要去桂林
我只編譯了libevent和event_test兩個項目,還有兩個test項目要改的較多,沒必要一定通過。
你的這個錯誤說明libevent已經通過,恭喜。time_test確實是通不過的。
回復
更多評論
#
re: VS2005編譯libevent
2008-07-09 14:55
spirit
好東西,之前也想研究下libevent,結果在windows沒編譯通過,就放到ubuntu下研究了,我再在win下試試。
回復
更多評論
#
re: VS2005編譯libevent[未登錄]
2008-07-10 13:25
我要去桂林
多謝 : 金慶
編譯通過了。
我主要想用: spserver 的http server集成到客戶端。
回復
更多評論
#
re: VS2005編譯libevent
2008-12-26 01:19
gashero
我用MinGW的,編譯是過去了,可是event_dispatch()那里出錯,根本無法進入事件循環。
回復
更多評論
#
re: VS2005編譯libevent
2008-12-26 08:54
金慶
@gashero
是不是也是windows下的select()問題?
查找出錯原因應該不難吧?
回復
更多評論
#
re: VS2005編譯libevent
2009-02-12 09:01
路過
@金慶
沒有那么麻煩吧,直接把win32-code下的config.h復制上來,改成event-config.h,編譯就OK了。
回復
更多評論
#
re: VS2005編譯libevent
2009-02-12 09:36
金慶
@路過
可能是這樣吧。大家可以這樣試試。
回復
更多評論
#
re: VS2005編譯libevent[未登錄]
2009-07-29 23:10
thinke365
select.c , epoll.c , kqueue.c也可以用vs 2005編譯碼?
回復
更多評論
#
re: VS2005編譯libevent
2009-07-30 09:02
金慶
@thinke365
select.c應該可以,epoll.c, kqueue.c在Windows上用不到,應該是不可編譯的,看看工程文件中是否包含了這兩個文件?
回復
更多評論
#
re: VS2005編譯libevent
2010-11-12 10:52
你好,
你好,我是一個大菜鳥,請問金慶先生:
1、在windows環境下用libevent庫,應該是把libevent庫編譯成靜態庫吧;
2、我打開libevent-1.4.9-stable里面有兩個文件夾:一個是WIN32-Code和WIN32-Prj,我到底要進哪個文件夾進行編譯呢?
3、我的目標只有一個,如果編譯出靜態庫,我在我的程序中如何設置。
回復
更多評論
#
re: VS2005編譯libevent
2010-11-12 11:22
金慶
@你好,
1. 動態庫也行, 一般還是靜態簡單點
2. 進WIN32-Prj編譯
3. 需要設置Include目錄和Lib目錄
回復
更多評論
#
re: VS2005編譯libevent
2010-11-15 13:02
剛工作的新手
@金慶
首先非常感謝金老師在百忙這中抽時間回答了我在2010-11-12 10時52分的提出的三個問題:
因為我水平太菜,沒能編譯成功官網的libevent,我這兩天用了一個iocp版本的libevent,在vc 6.0下編譯并通過了,在VC中也做了兩個DEMO都沒問題。
1、我想結合libevent和QT來編寫程序,我怎樣在我的QT程序中引用libevent,如何設置,是不是首先要用mingw來編譯libevent,怎么編譯,金老師在這方面有試過沒?
回復
更多評論
#
re: VS2005編譯libevent
2010-11-15 13:44
金慶
@剛工作的新手
引用libevent需要在編譯選項添加-L -l選項, 請查看gcc中相關的幫助. 需要用mingw編譯的, vc編譯的只能用于vc. mingw下直接make install應該就可以了, 我忘了以前自己是怎么做的.
回復
更多評論
#
re: VS2005編譯libevent
2010-11-15 16:42
剛工作的新手
@金慶
謝謝金老師的回答,我搗騰搗騰。
回復
更多評論
#
re: VS2005編譯libevent[未登錄]
2011-01-05 23:40
hustnn
請問struct event_list 在哪里定義的?
回復
更多評論
#
re: VS2005編譯libevent
2011-01-06 11:29
金慶
@hustnn
自己搜索一下吧:)
回復
更多評論
#
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>
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
How are dtLinks created in NavMesh
C++ parameter passing rules
Naming Conventions for Accessors
Visual Studio 2019 Compiler Hangs
Fbx File Format Identifier
查找內存錯誤
std::thread 中的異常會丟失調用棧
用賦值代替 protobuf CopyFrom()
vs2017 linux 編譯輸出改成 vs 格式
為 LiteIDE 添加選中標記
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
狠狠色丁香久久综合婷婷
|
久久伊人五月天论坛
|
无码人妻久久一区二区三区免费
|
中文字幕久久亚洲一区
|
久久久久久伊人高潮影院
|
日日噜噜夜夜狠狠久久丁香五月
|
模特私拍国产精品久久
|
99精品国产综合久久久久五月天
|
无码伊人66久久大杳蕉网站谷歌
|
国产ww久久久久久久久久
|
日本久久久久久久久久
|
久久99精品久久久久子伦
|
久久伊人中文无码
|
国产精品久久久久久
|
午夜精品久久久久久
|
国产精品美女久久久
|
亚洲精品tv久久久久
|
色综合久久综合网观看
|
影音先锋女人AV鲁色资源网久久
|
国产午夜福利精品久久
|
久久国产免费观看精品3
|
免费精品国产日韩热久久
|
精品水蜜桃久久久久久久
|
久久精品九九亚洲精品
|
无码任你躁久久久久久老妇App
|
日韩亚洲欧美久久久www综合网
|
久久精品视频一
|
亚洲国产精品无码久久青草
|
久久久久免费精品国产
|
99久久成人国产精品免费
|
久久免费观看视频
|
国产精品99久久久久久宅男
|
国产精品无码久久综合
|
久久影院综合精品
|
午夜精品久久久久久99热
|
久久亚洲精品成人无码网站
|
久久久久亚洲av成人网人人软件
|
欧美亚洲国产精品久久
|
亚洲国产精品一区二区三区久久
|
久久久久久无码国产精品中文字幕
|
亚洲精品乱码久久久久久蜜桃图片
|