# pvbrowser Fehler bei Übersetzung Demoprojekt



## spz (8 März 2007)

Ich versuche gerade das Demoprojekt des pvbrowsers im pvdevelop über "Action" - "Make" neu zu erstellen und erhalte folgende Ausgabe:

_D:\Programme\pvb\pvsexample>rem system("pvb_make.bat + name");_
_D:\Programme\pvb\pvsexample>fake_qmake pvsexample.pro -o Makefile.win_
_D:\Programme\pvb\pvsexample>nmake /f Makefile.win_
_Microsoft (R) Program Maintenance Utility, Version 8.00.50727.762
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten._
_        cl -c -nologo -Zm200 -W3 -O1 -DUNICODE -I"d:\Programme\pvb\pvserver" 
        -I"d:\Programme\pvb\rllib\lib" -Fo @c:\tmp\nm232.tmp
NMAKE : fatal error U1077: ""D:\Programme\Microsoft Visual Studio 8\VC\bin\cl.EX
E"": Rückgabe-Code "0xc0000135"
Stop._

Nach einigen Stunden Internetsuche bin ich immer noch völlig ratlos was eingentlich das Problem ist.
Kopiere ich den cl Aufruf in die Kommandozeile erhalte ich überhaupt keine Rückmeldung.
Das Übersetzen der vom VisualC++ Wizard erstellten Projekt funktioniert ohne Probleme. Die VisualC++ Installation scheint also (zumindest für mich) in Ordnung zu sein.

Hat jemand eine Idee?

Betriebssystem ist WinXP Prof.

p.s. ich bin kein C++ Programmierer


----------



## pvbrowser (24 März 2007)

Bislang haben wir nur mit Visual C++ 6.0 unter Windows gearbeitet.
Es kann sein, dass eine andere Version des C++ Compilers Probleme bereitet.

Das Übersetzen läuft so ab:
- pvdevelop ruft die BAT Datei mit den entsprechenden Parameter auf.
- In der BAT Datei generiert "fake_qmake.exe" ein Makefile.win
- nmake übersetzt dann das Projekt anhand des Makefiles

########################
NMAKE : fatal error U1077: ""D:\Programme\Microsoft Visual Studio 8\VC\bin\cl.EX
 E"": Rückgabe-Code "0xc0000135"
 Stop.
########################
In einem Forum habe ich dazu folgendes gefunden:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=765465&SiteID=1

It looks like the makefile does not have the path to where your compiler is installed.  You might want to review the generated makefile and see what kind of environment variables or other parameters it expects to have set or customized so it can find the command-line compiler, the linker, and other programming-system utilities that may be needed.  
You can get general help about nmake from the MSDN Help in VC++ and on-line.  For what the CFD program generates and how to setup an environment that is expected in the generated makefile, you'll need to consult with CFD experts, on-line sources and any documentation.  
Good luck,
 - Dennis

Also, Du musst die Environment Variablen so setzen,
dass Du in der Lage bist ein "hello world" programm mit nmake aus der Kommandozeile zu übersetzen.

Unsere Visual C++ 6.0 Installation hat schon alles richtig gesetzt.
Ich probiere aber zur Zeit mit der Express Edition rum und
stelle fest, dass man die Variablen alle selbst setzen muss.

PS: Um pvbrowser auf die Schnelle zu testen, ist es besser Linux zu nehmen, weil da der Compiler schon standardmässig drauf ist und erst keine Environment Variablen gesetzt werden müssen.


----------



## pvbrowser (24 März 2007)

Wenn alle Stricke reissen,
dann geht es auf alle Fälle so:

Nimm Visual Studio und
gebe alle cpp h und lib Dateien die in der Projekt Datei drin stehen dort ein.
###########################
######################################################################
# generated by pvdevelop at: Mi Nov 8 11:58:45 2006
######################################################################

TEMPLATE = app
CONFIG   = warn_on release
CONFIG  -= qt

# Input
HEADERS += pvapp.h      \
           mask9_slots.h \
           mask8_slots.h \
           mask7_slots.h \
           mask6_slots.h \
           mask5_slots.h \
           mask4_slots.h \
           mask3_slots.h \
           mask2_slots.h \
           mask1_slots.h
SOURCES += main.cpp     \
           mask9.cpp \
           mask8.cpp \
           mask7.cpp \
           mask6.cpp \
           mask5.cpp \
           mask4.cpp \
           mask3.cpp \
           mask2.cpp \
           mask1.cpp

unix:LIBS          += /usr/lib/libpvsmt.so $(LIBPTHREAD)
#unix:LIBS         += /usr/lib/libpvsid.so
unix:INCLUDEPATH   += /opt/pvb/pvserver
unix:LIBS         += /usr/lib/librllib.so
unix:INCLUDEPATH  += /opt/pvb/rllib/lib

win32:LIBS         += $(PVBDIR)\win\bin\serverlib.lib wsock32.lib
win32:INCLUDEPATH  += $(PVBDIR)\pvserver
win32:LIBS        += $(PVBDIR)\win\bin\rllib.lib
win32:INCLUDEPATH += $(PVBDIR)\rllib\lib

#DEFINES += USE_INETD
TARGET = pvsexample
######################################

Ab jetzt kannst Du fast komplett in Visual Studio entwickeln.
Nur den Designer benutzt Du dann noch von pvdevelop aus.

Viel Erfolg:
pvbrowser


----------



## spz (24 März 2007)

Mittlerweile funktioniert die Sache bei mir auch. Nach einiger "Google-Zeit" hatte es am laufen. Wäre nur am Anfang nie auf die Idee gekommen, dass ich hier Umgebungsvariablen von Hand setzen muss, zumal VC++ ja anstandslos funktioniert hat.
Zur Info - ich bin derjenige der vor ein paar Wochen wegen OPC nachgefragt hat. Bin jetzt leider daran gescheitert, dass alles was ich gefunden habe (sowohl open source als auch kommerziell) ATL/MFC verlangt und beides ist leider erst ab der VC++ Standardversion verfügbar.
Irgendwelche Tips zu Alternativen?


----------

