我遇到了一些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个重定义错误。
我不确定如何解决此问题,我无法在图书馆主页本身或互联网上找到任何信息。还有其他人遇到过这个问题吗?
干杯
答案 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可能会有所帮助。