ref class mit unter Klassen erstellen

Hallo,

weiteres Problem ich habe eine Setup mit hilfe von "Veröffendlichen" erstellt.
Nun kann ich das leider nicht Ausführen. Nach der Installation kommt ein Windows Fehler.
Zwar habe ich unter Win 7 64 Bit Entwickelt und versuche unter Win xp 32 Bit zu testen, jedoch glaube ich das ich alles auf 32 Bit umgestellt habe. Die Visual Studio Express Version ist auch 32 Bit.
Muss ich beim Veröffendlichen noch die Wrapper dll mit Inkulden? Sie ist zwar mit im Installationsverzeichniss das mir von VS ausgespukt wird, jedoch bin ich mir nicht sicher ob das reicht.

danke
 
"ProgrammXY hat ein Problem festgestellt und muss beendet werden..."

Nochmal ausführlicher:

Also, das Problem liegt scheinbar an den Libs.
Das Programm ist wie folgt aufgebaut:
- c++ Programm mit externen Lib.
-> wurde mit hilfe einer Wrapper Klasse in eine CLR Dll kompiliert.
-> Diese wurde in ein c# Projekt hinzugefügt.

Die CLR Dll scheint er zu kennen, es gibt jedoch (so glaube ich) ein Problem mit den externen Libs.

Also muss ich doch irgendwie die Libs mitliefern, die Frage ist nur:
- wo packe ich die hin?
- und muss ich bei der Erstellung der CLR Dll dies nicht irgendwo angeben?
oder?

PS: Auf dem Computer auf dem ich das alles geschrieben habe, funktioniert das installierte Programm.
Das Problem besteht auch nicht in der Installation, sondern am anschließenden ausführen.

sollte das besser in ein externen Thread?
 
Zuletzt bearbeitet:
Die externen DLL Dateien müssen in das selbe Verzeichnis, wie die CLR DLL, die diese verwendet. Ich glaube, Pfade wie z.B. "C:\Windows\System32" und diese DLL Verzeichnisse gehen auch, allerdings sollten solche einzelnen DLLs natürlich nur in das Verzeichnis der Anwendung, die sie nutzt (Ausnahmen wie OpenGL & Co können auch in den Systemordner, da diese Libraries auch von vielen Anwendungen genutzt werden).

Und nein, hierfür brauchst du keinen eigenen Thread mehr, es ist ya im Prinzip noch das selbe Thema :) (Ich würd zumindest keinen neuen dafür machen ^^)

Mfg
JustShinigami
 
hmm, also irgendwie geht das nicht,

ich habe alle benutzten DLL`s und Libs in zu der EXE gepackt und, trotzdem kennt er die nicht.
 
Am besten du nennst uns die Library, die du wrappst. Normalerweise sollte alles funktionieren, wenn die DLL richtig erstellt wurde und du diese mitsamt den externen DLLs in einem Verzeichnis hast. Ich wrappe ya derzeit SDL für C#, und da hab ich keine Probleme bei, es ist theoretisch ya auch möglich, dass es an der Library liegt, die du wrappst..

mfg
JustShinigami
 
also es handelt sich um OpenCV.
In C++
steht lediglich
Code:
#include <opencv2/opencv.hpp>

hinter der hpp steht:
Code:
#ifndef __OPENCV_ALL_HPP__
#define __OPENCV_ALL_HPP__

#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/flann/miniflann.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/photo/photo.hpp"
#include "opencv2/video/video.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/ml/ml.hpp"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/contrib/contrib.hpp"

#endif


Merkwürdig finde ich auch das Es nach der Installation kein Installationsverzeichniss existiert, sondern nur eine EXE im Startmenü.
Auf dem Rechner wo das Programm geschrieben wurden ist, läuft die EXE, verständlicher weise.
 
also es handelt sich um OpenCV.
Warum nutzt du dann nicht einfach Emgu CV?
In C++
steht lediglich
Code:
#include <opencv2/opencv.hpp>

hinter der hpp steht:
Code:
#ifndef __OPENCV_ALL_HPP__
#define __OPENCV_ALL_HPP__

#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/flann/miniflann.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/photo/photo.hpp"
#include "opencv2/video/video.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/ml/ml.hpp"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/contrib/contrib.hpp"

#endif
Die Header Dateien haben in dem Zusammenhang wenig Aussagekraft.
Merkwürdig finde ich auch das Es nach der Installation kein Installationsverzeichniss existiert, sondern nur eine EXE im Startmenü.
Was hast du denn installiert?

Wenn du ein OpenCV Programm kompilieren kannst, dann müssen ja auch irgendwo die OpenCV Header und Bibliotheken liegen.
 
naja OpenCV ist ja eher ein entpackter Ordner.
Mit Installiert meinte ich die Installation des Programmierten Programms...

Das Programm findet einfach die OpenCV DLLs nicht, beziehungsweise will den ganzen OpenCV Ordner haben. Nun weiß ich nicht wie ich ihm mitteilen soll wo die wichtigen OpenCV Dlls liegen, bzw wie ich dem Programm diese mitgebe
 
Du müßtest die DLLs manuell zu deinem Setup Projekt hinzufügen, so dass sie auch im Installer enthalten sind.

Oder du linkst die OpenCV Bibliotheken statisch zu deinem Programm hinzu. Dazu müßtest du vermutlich beim Kompilieren irgendeine OpenCV Einstellung vornehmen... :google:
 
Zurück