JRTPLIB / заголовок включает проблему - PullRequest
0 голосов
/ 09 января 2011

У меня проблемы с версией 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"  

Поэтому я считаю, что мне нужно #include windows.h в jrtlibtest.h, чтобы он распознавал определяемый WIN32 (поэтому он не включает unix .h файлы), но это, в свою очередь, дает мне около 100 ошибок повторного определения.

Я не уверен, как решить эту проблему, и я не могу найти какую-либо информацию на самой домашней странице библиотеки или в Интернете. Кто-нибудь еще сталкивался с этой проблемой?

Приветствия

Ответы [ 3 ]

2 голосов
/ 09 января 2011

Я не видел JRTPLIB c ++ lib, но на основании предоставленной вами информации ('rtpconfig_unix.h' не может быть открыт) кажется, что она принимает файл по умолчанию для порта unix? Найдите что-то вроде файла конфигурации в папке JRTPLIB и запустите его (./config на cygwin или что-то в этом роде). Это должно генерировать файлы конфигурации Windows, которые вы сможете включить в свой код #include.

Удачи !!

EDIT:

То, что вы получаете сообщение об ошибке:

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.

Вы пробовали #defining макрос win32 в rtpconfig.h напрямую? (или сделайте это в настройках вашего проекта).

1 голос
/ 20 июня 2011

Включите ws2_32.lib в ваш проект.Была такая же проблема.

(И удалите, если вы уже включили его, заголовочный файл wsock32.lib и winsock.h, чтобы избежать коллизий)

0 голосов
/ 09 января 2011

Каковы ошибки переопределения?

Если они из winsock, удаление winsock2.h из ваших включений может помочь.

...