JRTPLIB / header包含问题

时间:2011-01-09 13:32:22

标签: c++ winapi winsock rtp

我遇到了一些JRTPLIB c ++ win32版本的问题,在visual studio2010中进行了编译。(http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib)。我已经通过电子邮件发送了作者,但尚未收到回复。我遇到的问题是:

error C1083: Cannot open include file: 'rtpconfig_unix.h': No such file or directory    c:\users\johan-bar\desktop\developer tools\3rd party software\jrtplib-3.8.1\src\rtpconfig.h  

我拥有的两个.h文件是:

MAIN.h:

enter code here
#include <WinSock2.h>
#include <Windows.h>
#include <WindowsX.h>
#include <stdlib.h>
#include <string>
#include <Richedit.h>
#include "jrtlibtest.h"
#include "resource.h"

jrtlibtest.h:

#include "rtpsession.h"  

所以我认为我需要在jrtlibtest.h中#include windows.h来识别要定义的WIN32(所以它不包括unix .h文件),但这反过来给了我大约100个重定义错误。

我不确定如何解决此问题,我无法在图书馆主页本身或互联网上找到任何信息。还有其他人遇到过这个问题吗?

干杯

3 个答案:

答案 0 :(得分:2)

我还没有看到JRTPLIB c ++ lib,但根据你提供的信息('rtpconfig_unix.h'无法打开),似乎它正在为unix端口采用默认文件?在JRTPLIB文件夹中查找类似配置文件的内容并运行它(cygwin上的./config或其他内容)。这应该生成您可以在代码中#include的Windows配置文件。

祝你好运!!

编辑:

您收到错误的事实:

error C1083: Cannot open include file: 'rtpconfig_unix.h': 

表示:在rtpconfig.h中,未启用WIN32宏:

#ifndef RTPCONFIG_H

#define RTPCONFIG_H

#if (defined(WIN32) || defined(_WIN32_WCE))
#include "rtpconfig_win.h"
#else
#include "rtpconfig_unix.h"
#endif // WIN32

//#define RTPDEBUG

#endif // RTPCONFIG_H

那就是为什么它说它无法打开rtpconfig_unix.h文件。

您是否直接在rtpconfig.h中尝试#defining win32宏? (或在项目设置中执行此操作)。

答案 1 :(得分:1)

在项目中包含ws2_32.lib。有同样的问题。

(如果已经包含它,请删除,wsock32.lib和winsock.h头文件以避免更改)

答案 2 :(得分:0)

什么是重新定义错误?

如果他们来自winsock,从您的包中删除winsock2.h可能会有所帮助。