⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何编译ortp协议栈(windows).txt

📁 本文档详细介绍了在WINDOWS下用VC6.0编译ORTP的方法,还有要用到的4个头文件
💻 TXT
字号:
ortp的编译:

假如你现在采用的是D盘(本人采用ortp-0.9.1,VC6.0,Windows XP):
1.在D盘上新建一个ortp文件夹D:\ortp;
2.把ortp-0.9.1文件夹下的include文件夹整个拷到D盘的ortp文件夹里;
3.新建VC工程,选Win32 Dynamic-Link Library,Project name:ortp,
  Location:D:\ortp\,然后选An empty DLL project,
  接着在  Tools\options\Directories\include files设置如下:
  C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE
  C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
  C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
  C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
  D:\ortp\INCLUDE
  D:\ortp\ortp
  按如上设置即可。
  注:以上Project\Setting按默认设置。
     platform sdk一定要放到最上面,否则会出错。
4.删除新建的vc工程的默认的source files和header files,将ortp-0.9.1\src\ortp\
  里面的所有*.c和*.h文件拷到D:\ortp\ortp\目录下,即和*.dsw和*.dsp文件放一起。
5.在vc工程中加入这些文件(.c,.h)
6.还要在D:\ortp\ortp,也就是当前文件夹中添加ortp-config.h,ortp-config-win32.h,glib.h,glibconfig.h这四个头文件
其中有些地方有重定义,我做了一些修改。这四个文件也可以从网上下载,google一下便可找到!

编译出现的问题的解决方法:
  
1.在posixtimer.c中加上mmsystem.h
在port.c中加上winsock2.h
并且连接头文件winmm.lib和ws2_32.lib


2.可能会遇到long long类型错误,可以改成long或者unsigned long,相应的1LL也要改成1L或者1UL
不过这样只是解决了编译的问题,变量如果可以为负那么unsigned long就会不可行,需要具体的去看程序
而且long的容量有限和作者初衷还是有差别的,不知道大家有什么更好的方法,请联系我,也欢迎讨论!


3.以下两个函数没有返回值,加上return 0;
WIN_cond_init()
WIN_cond_wait()

4.再有就是一些版本输出信息,如ortp.c中
ortp_message("oRTP-" ORTP_VERSION " initialized.");
我的做法是改为ortp_message("oRTP-0.9.1 initialized.");

ortp_min_version_required中的版本信息也没有定义,自己手工加上
#define ORTP_MAJOR_VERSION 0
#define ORTP_MINOR_VERSION 9
#define ORTP_MICRO_VERSION 1

5.对于integral size mismatch in argument错误是因为程序定义的参数类型和windows定义的不一样,
在调用windows库函数的时候要将变量用windows的类型强制转换一下,
如:将uint16_t类型的变量转换为WORD类型的(其实都是unsigned short)


按照如上的方法可以最终编译得到.dll库文件 (照理说应该可以得到.lib和.dll两个文件的,为什么这里得不到.lib文件,希望大虾告之)
至于要得到.lib文件的话,编译第3步要选择Win32 Static Library就可以了!



                               			汇思ID: sunnydavid	
                                    QQ:84293639(无知的秀才)
                                    E-mail:sunnydavid_ren@163.com
                                    
                                    欢迎各位同好和我讨论osip,exosip及ortp,大家一起成长!^-^
                                    另外偶对vc了解不深,若是有不对之处,欢迎指正,以免误导其他同好!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -