2011-01-09 16 views
0

Ich habe einige Probleme mit JRTPLIB C++ Win32-Version, Kompilieren in Visual Studio2010. (Http://research.edm.uhasselt.be/~jori/page/index.php?n=CS .Jrtplib). Ich habe dem Autor eine E-Mail geschickt, aber noch keine Antwort erhalten. Das Problem ich erlebe, ist dies:JRTPLIB/Header gehören Problem

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 

Die beiden H-Dateien ich habe, sind diese:

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" 

Daher muss ich #include windows.h in jrtlibtest.h enthalten, damit WIN32 definiert wird (also keine Unix-.h-Dateien enthält)), aber das wiederum gibt mir ungefähr 100 Redi fi nitionsfehler.

Ich bin mir nicht sicher, wie ich dieses Problem lösen kann und finde keine Informationen auf der Homepage der Bibliothek selbst oder im Internet. Ist jemand anderes auf dieses Problem gestoßen?

Prost

Antwort

2

Ich habe nicht JRTPLIB C++ lib gesehen, aber basierend auf den Informationen, die Sie zur Verfügung gestellt ('rtpconfig_unix.h'can nicht geöffnet werden), so scheint es, dass es Standarddatei für UNIX-Port nimmt? Suchen Sie im JRTPLIB-Ordner nach etwas wie einer Konfigurationsdatei und führen Sie sie aus (./config auf Cygwin oder etwas). Das sollte die Windows-Konfigurationsdateien generieren, die Sie in Ihrem Code enthalten könnten.

Viel Glück !!

EDIT:

Die Tatsache, dass Sie die Fehlermeldung erhalten:

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

bedeutet: in Ihre rtpconfig.h wird das WIN32 Makro nicht aktiviert:

#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 

und das ist warum es sagt, es kann nicht rtpconfig_unix.h Datei öffnen.

Haben Sie versucht, Win32-Makro in rtpconfig.h direkt zu definieren? (oder tun Sie es in Ihren Projekteinstellungen).

+0

rtpconfig.h grundsätzlich fest, ob rtpconfig_unix.h oder rtpconfig_win.h aufzunehmen. Ich habe es manuell bearbeitet, indem ich es immer auf rtpconfig_win.h gesetzt habe, aber es gibt eine Menge Kompilierprobleme, die am meisten mit rtprandom.h zusammenhängen. Es sieht wie ein sehr verschachteltes Problem aus. – KaiserJohaan

+0

Ich habe gerade eine Chance, diese Lib zu sehen. Ich kann es nicht auf Windows kompilieren, weil ich gerade Mac benutze. Aber haben Sie aus Neugier WIN32 aktiviert? Ich fand es (zusammen mit anderen Makros in README.TXT unter dem Stammverzeichnis). – Viren

+0

Ah! Wo aktivieren Sie das WIN32-Makro?O_o Kann in der Readme-Datei nicht gefunden werden – KaiserJohaan

0

Was sind die Neudefinitionsfehler?

Wenn sie von Winsock stammen, kann das Entfernen von winsock2.h aus Ihren Includes hilfreich sein.

+0

main.cpp, das main.h enthält, verwendet winsock2.h, daher kann ich es nicht entfernen – KaiserJohaan

1

Schließen Sie ws2_32.lib in Ihr Projekt ein. Hatte das gleiche Problem.

(Und entfernen, wenn Sie es bereits enthalten, WSOCK32.LIB und winsock.h Header-Datei colissions zu vermeiden)