UC故事 2011/12/19 build linix servers

(一)企业微信 - 会话内容存档 企业微信获取会话记录。 阅读详情


## 构建Linux Server ##


1. build info server

* build info server

# make


.a ../../../bin/libnetwork.a ../../../bin/libframework.a  -lmysqlclient -lz
../../../bin/libs/libdbthread.a: could not read symbols: File format not recognized


注:libdbthread.a需要重新build


* build libdbthread.a

[root@frank dbthread]# make
g++ -Wall -Wpointer-arith -pipe -D_REENTRANT -D_GNU_SOURCE -g -g -O3 -DRT_UNIX  -DRT_LINUX -D__MYSQL__  -DRT_DEBUG -DRT_DISABLE_ASSERTE -I../h -I../../../src/h -I/usr/include/mysql -c -o ../../../bin/platform/dbthread/dbmysql.o dbmysql.cpp
在包含自 dbmysql.cpp:9 的文件中:
../h/dbmysql.h:27:19: 错误:mysql.h:没有那个文件或目录
../h/dbmysql.h:101: 错误:ISO C++ 不允许声明无类型的 ‘MYSQL’
../h/dbmysql.h:101: 错误:expected ‘;’ before ‘*’ token
../h/dbmysql.h:114: 错误:‘MYSQL_ROW’ 没有命名一个类型
../h/dbmysql.h:117: 错误:ISO C++ 不允许声明无类型的 ‘MYSQL_RES’

注:需要重新安装mysql


* 从源代码开始安装mysql 5.0.X

# ./configure --prefix=/usr/local/mysql starting at 12:30

# make: starting at 12:47, end at 13:05

# make install:starting at 13:06, end at 13:08


* 再次build libdbthread.a

# 修改Makefile,指向正确的mysql include目录:/usr/local/mysql/include/mysql

Q:原来的-I $(MYSQL_HOME)在哪里定义的?


#make

[root@frank dbthread]# make
g++ -Wall -Wpointer-arith -pipe -D_REENTRANT -D_GNU_SOURCE -g -g -O3 -DRT_UNIX  -DRT_LINUX -D__MYSQL__  -DRT_DEBUG -DRT_DISABLE_ASSERTE -I../h -I../../../src/h -I/usr/local/mysql/include/mysql -c -o ../../../bin/platform/dbthread/dbmysql.o dbmysql.cpp
g++ -Wall -Wpointer-arith -pipe -D_REENTRANT -D_GNU_SOURCE -g -g -O3 -DRT_UNIX  -DRT_LINUX -D__MYSQL__  -DRT_DEBUG -DRT_DISABLE_ASSERTE -I../h -I../../../src/h -I/usr/local/mysql/include/mysql -c -o ../../../bin/platform/dbthread/dboci_adaptor.o dboci_adaptor.cpp
g++ -Wall -Wpointer-arith -pipe -D_REENTRANT -D_GNU_SOURCE -g -g -O3 -DRT_UNIX  -DRT_LINUX -D__MYSQL__  -DRT_DEBUG -DRT_DISABLE_ASSERTE -I../h -I../../../src/h -I/usr/local/mysql/include/mysql -c -o ../../../bin/platform/dbthread/CmDBThread.o CmDBThread.cpp
ar rsuv ../../../bin/libs/libdbthread.a ../../../bin/platform/dbthread/dbmysql.o ../../../bin/platform/dbthread/dboci_adaptor.o ../../../bin/platform/dbthread/CmDBThread.o
r - ../../../bin/platform/dbthread/dbmysql.o
r - ../../../bin/platform/dbthread/dboci_adaptor.o
r - ../../../bin/platform/dbthread/CmDBThread.o
chmod a+r ../../../bin/libs/libdbthread.a

OK !


* 再次build info server

[root@frank dbthread]# make

in/common/GcServerPdu.o ../../../bin/common/GcClientPdu/GcClientPdu.o ../../../bin/libmonitor.a  ../../../bin/libs/libaudiocodec32.a ../../../bin/libsecurity.a ../../../bin/libnetwork.a ../../../bin/libframework.a  -lmysqlclient -lz
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld 返回 1
make: *** [../../../bin/InfoServer] 错误 1

* 修改Makefile,指明libmysqlclient.a的目录位置

USER_LINK_DLLS = -lmysqlclient -lz -L/usr/local/mysql/lib/mysql

Q:使用方法是static lib还是DLL?


# make


OK !


* 配置iwlab.ini, 运行

[root@frank bin]# ./InfoServer
New build infoserver 4.2.
 Load Config Failed


* 配置环境变量,并把iwlab.ini放入, 重启动

OK !


2. build controller


* make

../../../bin/libs/libdbthread.a ../../../bin/libfilerecord.a ../../../bin/libconnmgr.a  ../../../bin/libs/libiwltriallicense.a ../../../bin/libsecurity.a ../../../bin/libnetwork.a ../../../bin/libframework.a  -lmysqlclient -lz
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld 返回 1
make: *** [../../../bin/gc] 错误 1

* 修改Makefile,指明libmysqlclient.a的目录位置

USER_LINK_DLLS = -lmysqlclient -lz -L/usr/local/mysql/lib/mysql


OK !


* 启动

./gc ( not Controller)


OK !


3. Client连接

* 修改ip地址,启动


OK!

注:结束于14:35


4. 下一步计划

* 日志文件

* 理解console信息

* 文档review

* 自动build系统相关设置

* SVN模块


 









经纬度转换为UTM坐标 UTM(通用横向墨卡托投影): 是一种以米为单位的坐标系统,用于地图和GPS导航。将地球划分为60个纵向的区域。每个区域宽6度,从赤道开始往南北两级方向划分。每个区域都有一个特定的字母。 阅读详情

相关推荐

一文详解心电图(ECG)监测原理

介绍心电图的监测原理,从心电信号产生、获取到心电图的基本组成

m0_50146396的博客 3287

总结一下关于UC方面的问题 2011/09/11

* 音频数据优先级 音频与其它数据分不同的Connection在传输,无论其是否使用UDP,都不可能控制其相对于其它数据的优先级 目前要保障音频优先级的唯一方法是在网络设备层保障 * 纯HTML5方案中server端的变化 需要自己开发WebSocket服务器 需要的时候,仍可做成分级分布式集群 * 服务器的接口 Q:可能做出一个服务器接口让第三方调用否? A:

printf1998的专栏 3171

CV领域交叉注意力机制:QKV在图像特征增强中的核心作用解析

本文深入解析了CV领域中交叉注意力机制的核心组件QKV在图像特征增强中的关键作用。通过通俗类比和实战案例,阐述了Q(查询)、K(键)、V(值)如何协同实现动态权重分配,从而在目标检测、图像分割与生成等任务中显著提升模型性能与语义对齐能力。

weixin_29194817的博客 435

读书与UC

1.读书Windows Programming V2 Q:AFX_MODULE_THREAD_STATE对于模块和线程都是私有的,如何理解? Q:windows book P176:AfxCallWndProc()如何处理多个消息处理嵌套的? Q:以下代码 /////////////////////////////////////////////// // CMyApp成员函数的实现代码

printf1998的专栏 1828

强化学习之课程学习法

课程学习是一种有计划的学习方法,模拟人类学习的过程。它通过设置逐步增加难度的任务序列,让学习系统从简单的任务开始,逐渐过渡到复杂任务。这一方法可以显著提高训练效率,避免智能体一开始就面临过于复杂的任务,从而导致学习过程困难。逐步难度增加:从简单的任务开始,逐步增加任务的难度,直到智能体能够解决最复杂的任务。动态调整:根据智能体的学习进展,动态调整任务的难度,保证学习的过程始终处于一个适当的挑战性范围。

m0_64087341的博客 2694

C语言练习题:据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?

题目内容: 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……) 输入格式: 输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。 输出格式: 在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。 输入样例: 169 输出样例: 124.2 代码如下: #include<stdio.h> int main() { i

weixin_44877226的博客 2万+

UC故事 05/09/2011

Office   1. 修改IP后,启动Client/Server,均现“重新连接” 2. 重启动后,一个Client连接成功,另一个仍“重新连接”。 查看错误信息,有如下:   $20110509 14:39:09.296 2016/1616 info: CConfManage::OnJoinConferenceConfirm $20110509 14:39:09.296 201

printf1998的专栏 1091

safetymonitorapi

Summary of SA8653 Safety Monitor API Introduction This document details Safety Monitor APIs for the SA8653 QNNX platform, covering dual interfaces of APSS and SAIL. It defines core data structures and enumerations for subsystems, fault severity and health

qq_39257814的博客 1588

iPhone/iPad Audio Unit声音播放

1. Audio unit或audio graph 当只有一个audio unit的时候,直接使用audio unit的API,不必使用Audio Graph

printf1998的专栏 1045

【乐企文件生成工程】添加数据库、SpringEvent事件支持

更新!1、乐企版式文件生成工程添加数据库支持2、乐企版式文件生成工程添加事件机制,异步处理文件生成,提高系统并发能力。

九七的博客 336

基于经验模态分解和核主成分分析结合长短期记忆网络EMD-KPCA-LSTM的光伏功率预测算法--Matlab

基于经验模态分解和核主成分分析结合长短期记忆网络EMD-KPCA-LSTM的光伏功率预测算法--Matlab

前程算法屋的博客 625

UC故事2011/11/30

今日之事 * 文档完成 * Jiarong例子 * test的例子   1. CRtThreadManager * class definition class RT_API_EXPORT CRtThreadManager  {  ....  static CRtThreadManager* Instance();

printf1998的专栏 1014

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

UC故事 2011/11/24

1. Chat Module接收信息,并演示到UI上面的全过程: STACK TRACE: CChatMainDlg::ReceiveMessage(unsigned long 19923456, WTL::CString & {...}, WTL::CString & {...}, int 1, _charformatw * 0x00119fa8) line 589 CChatMainDl

printf1998的专栏 998

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

UC 故事 05/13/2011 杂记:代码

1. 问题 Q:TP层的架构文档? Q:所有port的种类?不同种类port之间交换信息的业务实例? Q:Channel使用SID来标志,是不是一种特殊port? Q:Channel只和user有关吗?  virtual RtResult JoinChannel(const CInfoSID& userInfoSID, const CInfoSID& channelID) = 0;

printf1998的专栏 967

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

UC故事2011/11/27 - 2

1. 再次研究线程 * 线程种类     typedef int TType;     enum     {         TT_MAIN,         TT_NETWORK,         TT_DNS,                      // Q:for what ?         TT_CURRENT,           // Q:for what?

printf1998的专栏 906

杂记 05/07/2011-2

Reading source code of Client   1. C函数还是C++函数?             DebugRunOption pRunProc1 = (DebugRunOption)GetProcAddress(hModule1, WT_DEBUG_RUN); 实际定义在../vc98/Include/WINBASE.h中。   WINBASEAPI FARPR

printf1998的专栏 885

UC故事2011/11/26

1. 开发环境恢复 * 处理Info/controller启动问题:Bind $20111126 17:24:29.062 16496/16684 ERROR: CRtAcceptorTcp::StartListen, bind() failed! addr=192.168.1.101 port=1224 err=10048:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

printf1998的专栏 877

UC故事 2011/10/21

1. Session研究 * CInfoSid 结构有点复杂呢  //channel ID  //[0000 TTTT xxxx xxxx xxxx xxxx xxxx xxxx]  //NodeID  //[xxxx TTTT YYYY YYYY YYYY 0000 0000 0000]  //SessionID and user ID  //[xxxx TTTT YYYY Y

printf1998的专栏 796

UC故事 2012/04/19 Server

1. 读文档与代码  * MCS class IMcs : public IOption { public:   ...  virtual RtResult JoinChannel(const CInfoSID& userInfoSID, const CInfoSID& channelID, IInfoSvrPort* pSrcPort = NULL) = 0;  virtual

printf1998的专栏 778

UC故事2011/11/17

### 搞定UCP4.5-0429开发环境(home) 1. info server * 直接F5 $20111117 18:57:53.828 2264/12320 ERROR: CRtAcceptorTcp::StartListen, bind() failed! addr=192.168.1.100 port=1224 err=10049:在其上下文中,该请求的地址无效。

printf1998的专栏 770

UC故事2011/12/04 总结与规划 (续)

1. 要点总结 * 2011/11/22: Client核心类图及关于XXXSink的理解 * Chat窗口中的信息如何传递到服务器 UI线程:UI上的button消息响应函数 UI线程:得到网络线程的Reactor指针pReactor UI线程:pReactor->PostEvent(SendDataEvent),投递event,并呼叫NotifyHandler通知reactor处理e

printf1998的专栏 703

UC故事 2012/04/26

1. client/server browsing Q: 以下为对应关系? session::CConference gcc::InfoSvrConf session::CConfSession gcc:InfoSvrSession   Note: :CConfDetailInfo is used by both client and gcc !   * biz concep

printf1998的专栏 700

MySQL建库建表操作学习笔记

SQL(Structured Query Language,结构化查询语言)是用于在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言。:用于定义对数据库对象(库、表、列、索引)的操作,如 CREATE、DROP、ALTER、RENAME、TRUNCATE 等。保存可变长度的字符串(可包含字母、数字以及特殊字 符)。:用于定义对数据库记录的操作,如 INSERT、DELETE、UPDATE、SELECT 等。:用于定义对数据库、表、字段、用户的访问权限和安全级别,如 GRANT、REVOKE 等。

Eternitycai的博客 222

MySQL 索引深入理解:B+ 树、二级索引、联合索引与查询优化

理解二级索引后,就可以理解回表了。SELECT *MySQL 的执行过程分为三个步骤。覆盖索引(Covering Index)并不是一种独立的索引类型,而是一种查询效果。SQL 查询需要的所有字段,都能够直接从某个索引中获得,不需要再访问聚簇索引获取其他字段。例如:因为user_id已经包含在二级索引中,所以 MySQL 可以直接返回结果。不需要回表。联合索引(Composite Index)是同时使用多个字段建立的索引。它的排序规则是:首先按照user_id排序。当user_id。

m0_64642997的博客 109

MySQL 单点详解(14)

给定一条 SQL,联合索引的列该怎么排呢?

2401_88601046的博客 344

MySQL 的 REPEATABLE READ 到底能不能防幻读——从快照读、当前读到 Next-Key Lock

本文系统讲解 InnoDB 可重复读级别下的幻读问题:从三类读异常切入,剖析快照读依赖 MVCC、当前读依赖 Next-Key Lock 的双防线机制,用双会话实验复现幻读仍会出现的边界场景,并解释各数据库在幻读防护上行为分歧的根源。

大模型全栈工程师 · Thanks_ks 294
上一篇: iPhone梦想 2011/12/18
下一篇: C++杂记/读书 2011/12/19
printf1998
博客等级 码龄16年 14粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值