drunken.panda
Captain
- Registriert
- Juli 2008
- Beiträge
- 3.916
Seruvs,
ich schreibe gerade ein Programm und das hat vorher auch geklappt, solange alles in einer cpp Datei war.
Nun wollte ich aber einige Methoden in externe Klassen bzw in eine andere cpp Datei ausgliedern, was an sich auch geklappt hat.
Ich nutze die Bibliotheken Boost/Urdl zum Url lesen.
Nun habe ich alle Includes in die stdafx.h file gepackt und diese Headerfile in beide cpp Dateien eingebunden. Somit sollten ja alle Bibliotheken in beiden cpp Dateien eingebunden sein?
Nur leider bekomm ich den Fehler
error LNK1104: Datei "liburdl-gd.lib" kann nicht geöffnet werden.
Ich stieß auf die Webseite http://think-async.com/Urdl/doc/html/urdl/getting_started/building.html gestoßen.
Naja option zwei und drei klappen nicht.
Im übrigen sind die Bibliotheken wie in Option zwei beschrieben in dem funktionstüchtigen Programm eingebunden.
Seit der Trennung der Funktionen in zwei cpp Dateien bekomm ich diesen Linker Fehler nicht mehr raus.
Ich stell euch mal meine stafx.h File an, umd evtl Includefehler aufzudecken.
Weitere Klassen die die stdafx.h einbinden.
CPP Datei mir ausgelagerten Funktionen:
Könnte es an der Reihenfolge der Includes liegen? Ist die wichtig?
ich schreibe gerade ein Programm und das hat vorher auch geklappt, solange alles in einer cpp Datei war.
Nun wollte ich aber einige Methoden in externe Klassen bzw in eine andere cpp Datei ausgliedern, was an sich auch geklappt hat.
Ich nutze die Bibliotheken Boost/Urdl zum Url lesen.
Nun habe ich alle Includes in die stdafx.h file gepackt und diese Headerfile in beide cpp Dateien eingebunden. Somit sollten ja alle Bibliotheken in beiden cpp Dateien eingebunden sein?
Nur leider bekomm ich den Fehler
error LNK1104: Datei "liburdl-gd.lib" kann nicht geöffnet werden.
Ich stieß auf die Webseite http://think-async.com/Urdl/doc/html/urdl/getting_started/building.html gestoßen.
Naja option zwei und drei klappen nicht.
Im übrigen sind die Bibliotheken wie in Option zwei beschrieben in dem funktionstüchtigen Programm eingebunden.
Seit der Trennung der Funktionen in zwei cpp Dateien bekomm ich diesen Linker Fehler nicht mehr raus.
Ich stell euch mal meine stafx.h File an, umd evtl Includefehler aufzudecken.
Code:
// stdafx.h : Includedatei für Standardsystem-Includedateien
// oder häufig verwendete projektspezifische Includedateien,
// die nur in unregelmäßigen Abständen geändert werden.
//
#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include <urdl\istream.hpp>
#include <boost\thread\thread.hpp>
#include <boost\program_options.hpp>
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#define URDL_DISABLE_SSL 1
#define URDL_HEADER_ONLY 1
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <vector>
#include <fstream>
#define XML_STATIC
#include <expat/expat.h>
#ifdef XML_STATIC
#pragma comment(lib,"libexpatMT.lib")
#else
#pragma comment(lib,"expat.lib")
#endif
// TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen.
const double pi = 3.1415926535897;
Weitere Klassen die die stdafx.h einbinden.
Code:
// TileMapTest.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.//
#include "stdafx.h"
#include "SphericalMercatorTiles.h"
namespace po = boost::program_options;
std::string bbInhalt;
std::string poiInhalt;
std::string xlmLocation;
std::string location;
std::vector<double> bb;
std::vector<std::vector<double>> poi;
po::variables_map vm;
const std::string defaultURL = "http://nominatim.openstreetmap.org/search?format=xml&polygon=1&adressdetails=1&q=";
.
.
.
.
(Methoden)
CPP Datei mir ausgelagerten Funktionen:
Code:
#include "stdafx.h"#include "SphericalMercatorTiles.h"
uint16_t ausdehnungX = 10;
uint16_t ausdehnungY = 10;
short zoom = 20;
std::string bb;
.
.
.
(Methoden)
Könnte es an der Reihenfolge der Includes liegen? Ist die wichtig?
Zuletzt bearbeitet: