阅读Sofia-SIP源码 - su模块 - su_configure.h/su_config.h/su_types.h

本文档详细探讨了Sofia-SIP库中的su_configure.h和su_types.h头文件,重点分析了su_configure.h中的环境配置宏,如WIN32、WINSOCK和WINSOCK2的定义,以及它们在Windows平台下的作用。同时,提到了su_types.h头文件在网络相关类型的定义,并指出在Windows环境下缺乏某些标准类型定义的情况。
摘要由CSDN通过智能技术生成

从Visual Studio 2010中打开SofiaSIP解决方案。在libsofia_sip_ua工程下的Header Files/win32 headers子目录下可以看到su_configure.h文件。我本来想选取su_types.h头文件来先分析。但我在su_types.h头文件的开始处看到了su_configure.h头文件。这让我想到任何一个工程,照理说都应该有一个初始确定环境信息的头文件。同理,对一个模块来说也应该有一个初始确定环境信息的头文件。因此,我就又将目标转向了su_configure.h文件。

在看过SofiaSIP的辅助文档之一 - 源码文件结构后,再来看SofiaSIP里的源码就稍微有一些经验了。现在知道在头文件的开始处可以看到如下所示注释信息的作用了:

/**@file su_configure_win32.h
 *
 * @b su library configuration for WIN32 (VC6/VC98)
 *
 * The file <su_configure_win32.h> contains configuration information needed
 * by WIN32 programs using @b su library.
 *
 * @author Pekka Pessi <Pekka.Pessi@nokia.com>
 *
 * @date Created: Thu Jan 18 15:30:55 2001 ppessi
 */
紧跟@b之后的内容是描述此文件的概述信息:su库的针对WIN32平台的配置。接下来的一段是详细描述:此头文件包含的是使用su库的WIN32程序所需的配置信息。


下面这句的作用相信应该都清楚:包括它后可以加快编译速度。

#define WIN32_LEAN_AND_MEAN

然后是下面这两句注释。这里的注释信息是说:如果需要将整个工程编译成DLL那么得移出这句(注释掉等同于移出)。现在的工程是libsofia_sip_ua,查看其属性里的配置类型,确实是”动态库(.dll)“。

/* Remove this when building DLL */
/* #define LIBSOFIA_SIP_UA_STATIC */


接着是七个#define。前面三个的用意应该很明显,是否是在WIN32平台(是)、是否有WINSOCK(是)和是否有WINSOCK2(是)。后面四个都是否:有POLL(否,因为是在WINDOWS平台)、有BSDSOCK(否),有STDINT(否,WIN32平台下没有标准的整型数据定义头文件。C99标准定义了stdint.h、inttypes.h,用于统一的跨平

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[3\]的内容,你在编译sofia-sip时遇到了一个错误,错误信息是"configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../..""。这个错误通常是由于缺少必要的安装文件导致的。 为了解决这个问题,你可以尝试执行以下步骤: 1. 确保你已经安装了必要的依赖项。根据引用\[1\]中的内容,你可以使用命令"brew install"来安装缺少的依赖项。 2. 检查你的配置文件是否正确。根据引用\[1\]中的内容,你可以尝试使用"./configure"命令,并指定正确的路径和参数来配置sofia-sip。 3. 检查你的安装文件是否存在。根据错误信息,你需要确保"install-sh"、"install.sh"或"shtool"文件存在于当前目录或其父目录中。如果这些文件确实不存在,你可以尝试从其他来源获取它们,并将它们放置在正确的位置。 希望这些步骤能够帮助你解决问题。如果问题仍然存在,请提供更多的信息,以便我能够给出更具体的建议。 #### 引用[.reference_title] - *1* *2* *3* [MAC下build Janus](https://blog.csdn.net/dotphoenix/article/details/104789566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值