uahh, i just saw, while testing if it works just by copying some needed dlls into my games directory, that my exe cant be execute on a other computer.
how to publish a panda application? packpanda isnt working, its in need of a python main. or do i have to write a python main.py which is opening my exe?
As of 1.7.0, you publish a Panda application by packing it into a p3d file. See the big chapter in the manual on this subject, titled “Distributing Panda3D Applications”.
Edit: sorry, just realized you were talking about a C++ application. For a C++ application it’s less automatic. But you should be able to put your exe and all the dll’s it requires into the same directory and run it from there. You can also still put it into a p3d file by writing a main.py, as you suggest, and packing that; but it means your C++ code has to be written to be callable from Python.
i tried it now again. and i had to figure out, that the problem is a different thing.
i got this side-by-side error.
first off, i dont want that someone needs to install a redistributable package.and if im changing the code generation, from multithreaded-dll to /MT. i get this error: the application faild to intialize properly…
what the best way to compile, that the application is running on other computers (win OS), without installing a redistributable package. maybe there also something in the manual, but i couldnt find it. sorry to ask something very fundamental, but im pretty new in working with c++.
HEAP[*.exe]: Invalid address specified to RtlFreeHeap( 01380000, 00C749D0 )
windows triggered a breakpoint.
this depends maybe on a defect heap, which are in the *.exe or in one of the loaded dll.
:D this is maybe related by pressing F12 while executing.
more analyseinformation may found in the outputwindow.
this error is only displaying when i try to include my manifest.
is it maybe related to, that i need to have the cg.dll in my release directory? this is maybe interrupting the heap.
oh, i just saw, the gl is now working without having a a copy of cg.dll in the release directory. i will it soon again (after simpsons)
but if i wanna use openGL, i have to copy the cg.dll into my project folder. where i think, this interrupt the heap. thats why, i wanna load this cg.dll manually. like i said, the cg.dll doesnt get loaded automatical, like all the other dll´s do. or it gets loaded, but it crashs. maybe this is making this conflict, that i cant load it manually. as next i try to kick the entries out of the vc++ porject directory. and try to load this bunch of dlls manually. like #include “path” if this isnt work either im out of any idea at moment.
is there a other way too to embed a dll into a project in vs, like to link to a path? the #import thing doesnt work, but maybe there is a way in vs too to def. a unique file?
whats the most stable version of panda for developing in c++? i actually downloaded 1.5.4, which is marked as stable. but not for c++ developing.
there i got 15 errors at my test programm (shown above).
here the erros:
c:\panda3d-1.5.4\include\cmath.I(154) : warning C4244: 'return': Konvertierung von 'double' in 'float', möglicher Datenverlust
1>c:\panda3d-1.5.4\include\configVariable.I(301) : warning C4244: 'Argument': Konvertierung von 'PN_int64' in 'int', möglicher Datenverlust
1>c:\panda3d-1.5.4\include\configVariableInt64.I(43) : warning C4244: 'Argument': Konvertierung von 'PN_int64' in 'int', möglicher Datenverlust
1>c:\panda3d-1.5.4\include\configVariableInt64.I(62) : warning C4244: 'Argument': Konvertierung von 'PN_int64' in 'int', möglicher Datenverlust
1>c:\panda3d-1.5.4\include\threadDummyImpl.I(125) : error C2079: 'rqtp' verwendet undefiniertes struct 'ThreadDummyImpl::sleep::timespec'
1>c:\panda3d-1.5.4\include\threadDummyImpl.I(126) : error C2228: Links von ".tv_sec" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist 'int'
1>c:\panda3d-1.5.4\include\threadDummyImpl.I(127) : error C2228: Links von ".tv_nsec" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist 'int'
1>c:\panda3d-1.5.4\include\threadDummyImpl.I(127) : error C2228: Links von ".tv_sec" muss sich eine Klasse/Struktur/Union befinden.
1> Typ ist 'int'
1>c:\panda3d-1.5.4\include\threadDummyImpl.I(128) : error C3861: "nanosleep": Bezeichner wurde nicht gefunden.
1>c:\panda3d-1.5.4\include\thread.I(38) : warning C4355: this': wird in Initialisierungslisten für Basisklasse verwendet
1>c:\panda3d-1.5.4\include\thread.I(56) : warning C4355: this': wird in Initialisierungslisten für Basisklasse verwendet
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Host'
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Type'
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'defined'
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C2143: Syntaxfehler: Es fehlt ';' vor '!'
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\panda3d-1.5.4\include\socket_portable.h(362) : error C2059: Syntaxfehler: '!'
1>c:\panda3d-1.5.4\include\socket_portable.h(363) : fatal error C1189: #error : Fatal
1>Das Buildprotokoll wurde unter "file://c:\Users\dirk\Documents\Visual Studio 2008\Projects\publishTEST\publishTEST\Release\BuildLog.htm" gespeichert.
1>publishTEST - 15 Fehler, 6 Warnung(en)