Tanpohp

Tag: dll

Bachelorarbeit

by on Mar.23, 2010, under 3D, Computer Graphics, shader

Nun habe ich schon mehrfach Inhalte geschrieben, welche ich in meiner Bachelorarbeit verarbeitet/genutzt habe. Langsam ist es damit an der Zeit, diese auf zu veröffentlichen. Was nutzt schließlich das darin zusammengetragene Wissen, wenn es niemanden hilft?

Im folgenden also die Bachelorarbeit, welche Sebastian Ohme und ich, David Störmer, zusammen im Sommersemester 2009 bei Dr. Prof. Tramberend an der TFH Berlin (jetzt Beuth Hochschule für Technik)geschrieben haben. Im Stile der Creative Commons wird diese Arbeit veröffentlicht. Nur eine Bedingung wird gestellt: Solltet ihr die Arbeit oder Teile der Arbeit (Bilder) verwenden, möchten wir als Autoren genannt werden. Insbesondere die Erstellung der Bilder, welche wir komplett selbstständig erstellten, hat viel Zeit in Anspruch genommen. Des Weiteren wäre eine Link auf diesen Blog (www.tanphop.de/blog) sehr nett.

Bachelorarbeit zum Thema(PDF, 2MB): Panoramaprojektion – Verzerrungsfreie Darstellung von 360° Panoramen und interaktive Panoramen

Und noch einmal in besserer Auflösung(PDF, 65MB): Panoramaprojektion – Verzerrungsfreie Darstellung von 360° Panoramen und interaktive Panoramen

Comments Off on Bachelorarbeit :, , , , , , more...

HowTo – DLL erstellen und benutzen unter Visual Studio 2008

by on Jun.19, 2009, under HowTo

Für unsere Bachelorarbeit erstellen wir ein Programm zur Verzerrungsfreien Darstellung von Panoramen auf gekrümmten Flächen. Uns erschien es sinnvoll, den Verzerrungsalgorithmus in eine DLL auszugliedern, damit er dann ggf. auch von Anderen verwendet werden kann. Allerdings hatten wir keinen blassen Schimmer, wie man eine eigene DLL erstellt und anzapft. Auf der Suche nach Informationen fanden wir bei codeguru.com eine Anleitung. Obgleich diese sehr hilfreich war, brauchten wir recht lange um das Beispiel in VS2008 umzusetzen. Des weiteren enthält die Anleitung auf codeguru.com einen kleinen Fehler der hier bereits korrigiert ist.

Deshalb kommt hier jetzt eine Schritt-für-Schritt Anleitung:

Create a DLL

  • VS => File => New Projekt => Visual C++ => Win32 => Win32 Console Application
    • Name: DLLPROJECT
    • Application type: dll
    • Additionnal Option: empty project
  • Add => Header File to “Header files” named DLLPROJECT.h
    • add following code:
    • #ifndef _DLL_TEST
      #define _DLL_TEST
      #include <iostream>

      #if defined DLL_EXPORT
      #define DECLDIR __declspec(dllexport)
      #else
      #define DECLDIR __declspec(dllimport)
      #endif

      extern “C” {
      DECLDIR void teststd(void);
      }
      #endif

  • Add => C++ file to “Source files” named DLLPROJECT.cpp
    • add following code:
    • #include <iostream>
      #define DLL_EXPORT

      #include “DLLPROJECT.h”

      extern “C”
      {
      DECLDIR void teststd(void)
      {
      std::cout << “Hallo World – FROM DLLPROJECT” << std::endl;
      }
      }

Usage of the DLLPROJECT.dll in a C++ Projekt

  • VS => File => New Projekt => Visual C++ => Win32 => Win32 Console Application
    • same solution
    • Name: APPLICATIONPROJECTCPP
    • Application type: console application
    • Additionnal Option: empty project
  • Add => C++ file to “Source Files” named APPLICATIONPROJECTCPP.cpp
    • add following code:
    • #include <iostream>
      #include <DLLPROJECT.h>
      #pragma comment (lib, "DLLPROJECT.lib")
      int main(){
      teststd();
      float f;
      std::cin >> f;
      }

  • Build => Project only => Build only DLL-Project
  • APPLICATIONPROJECTCPP => Properties => C/C++ => General => Additional Include Directories
    • add path to Headerfile of DLLPROJECT ($(SolutionDir)\DLL-Project\)
  • APPLICATIONPROJECTCPP => Properties => C/C++ => Linker => Additional Library Directories
    • add path to *.lib-File of DLLPROJECT ($(TargetDir)\)
  • APPLICATIONPROJECTCPP => Set as StartUp Project

Usage of the DLLPROJECT.dll in a C# Projekt

  • VS => File => New Projekt => Visual C# => Windows => Console Application
    • same solution
    • Name: APPLICATIONPROJECTCS
    • Application type: console application
    • replace code with following:
    • using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Runtime.InteropServices;

      namespace CSharpTest
      {
      class Program
      {
      [DllImport(“DLLPROJECT.dll”)]
      private static extern void teststd();

      static void Main(string[] args)
      {
      teststd();
      Console.Read();
      }
      }
      }

  • Build => Configuration Manager => Plattform => New …
    • x86
  • APPLICATIONPROJECTCS => Set as StartUp Project
  • copy of DLLPROJECT.dll nach APPLICATIONPROJECTCS/bin/x86/debug
  • Debug
Comments Off on HowTo – DLL erstellen und benutzen unter Visual Studio 2008 :, , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...