<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[TJPEGImage: linker Fehler in DLL]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich schreibe gerade eine DLL die ein paar Funktionene zur Verfügung stellt. Unter anderen etwa das Speichern von einem Bitmap als JPEG Image. Zuvor hab ich den Code in einem Projekt gehabt (.exe), indem das Ganze einwandfrei funktioniert hat. Doch jetzt in der DLL bekomme ich einen Linker-Fehler, dass der Linker nicht den Construktor, Destruktor und die entsprechende Methode linken kann. Muss man hier noch eine .lib Datei einbinden? Wenn ja welche?</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/122479/tjpegimage-linker-fehler-in-dll</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Jul 2026 22:01:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/122479.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Oct 2005 09:28:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Thu, 06 Oct 2005 09:28:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich schreibe gerade eine DLL die ein paar Funktionene zur Verfügung stellt. Unter anderen etwa das Speichern von einem Bitmap als JPEG Image. Zuvor hab ich den Code in einem Projekt gehabt (.exe), indem das Ganze einwandfrei funktioniert hat. Doch jetzt in der DLL bekomme ich einen Linker-Fehler, dass der Linker nicht den Construktor, Destruktor und die entsprechende Methode linken kann. Muss man hier noch eine .lib Datei einbinden? Wenn ja welche?</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/886253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/886253</guid><dc:creator><![CDATA[mattias]]></dc:creator><pubDate>Thu, 06 Oct 2005 09:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Fri, 07 Oct 2005 19:16:03 GMT]]></title><description><![CDATA[<p>Da bist du nicht der einzige mit dem Problem. Hab das auch schon vor ner ganzen Weile versucht und bin gescheitert. Diese Konvertierungsfunktion (BMP-&gt;JPEG) ist die einzige Funktion, die ich als extra .cpp einbinde, falls sie im Projekt benötigt wird. Falls es doch eine Lösung dafür gibt, würde mich das auch interessieren.</p>
<p>Schollo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/887355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/887355</guid><dc:creator><![CDATA[Schollo]]></dc:creator><pubDate>Fri, 07 Oct 2005 19:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Sun, 09 Oct 2005 18:55:18 GMT]]></title><description><![CDATA[<p>@mttias</p>
<p>Was ist in der DLL alles drin?<br />
Wo steht der Constructor ...?<br />
Wie rufst Du die DLL auf<br />
Soll die DLL in anderen Compilern anwendbar sein oder nur für BCB?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/888379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/888379</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Sun, 09 Oct 2005 18:55:18 GMT</pubDate></item><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Mon, 10 Oct 2005 11:58:08 GMT]]></title><description><![CDATA[<p>zur zeit möchte ich die dll eigentlich nur für den BCB verwenden. die dll besitzt eine klasse in der ein TBitmap objekt gespeichert wird und methoden um es als bitmap, tiff oder jpeg zu speichern. der code sieht wie folgt aus:</p>
<pre><code class="language-cpp">#ifndef _ImageH
#define _ImageH

#include &lt;stdio&gt;
#include &lt;windows&gt;
#include &lt;vcl.h&gt;
#include &lt;Graphics.hpp&gt;
#include &lt;jpeg.hpp&gt;

#include &lt;algorithm&gt;
using std::min;
using std::max;
#include &lt;gdiplus.h&gt;

#ifdef __DLL__
# define DLL_EXP __declspec(dllexport)
#else
# define DLL_EXP __declspec(dllimport)
#endif

using namespace std;

class DLL_EXP ImageManipulation
{
protected:
	TImage *m_pImage;
	Graphics::TBitmap *m_pBitmapPicture;
	Gdiplus::GdiplusStartupInput *gdiplusStartupInput;
	ULONG_PTR gdiplusToken;
	int GetEncoderClsid(const WCHAR* format, CLSID* pClsid);
public:
	ImageManipulation();
	~ImageManipulation();
	void Terminate();

	virtual void Initialize(TComponent *pAOwner, TWinControl *pParent, float* pFeatureData, int iSize, int iTop, int iLeft, int iOuterWidth, int iOuterHeight, int iDBWidth, int iDBHeight);

	void InitializeGDI();
	void ShutDownGDI();

	void SaveAsBitmap(AnsiString sLocation);
	void SaveAsTIFF(AnsiString sLocation);
	void SaveAsJPEG(AnsiString sLocation);
};

#pragma hdrstop

#include &quot;Image.h&quot;

#pragma package(smart_init)

#pragma argsused
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
   return 1;
}

void ImageManipulation::SaveAsJPEG(AnsiString sLocation)
{
   TJPEGImage *jpg = new TJPEGImage();
   jpg-&gt;Assign(m_pBitmapPicture);
   jpg-&gt;SaveToFile(sLocation + &quot;.jpg&quot;);
   delete jpg;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/888753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/888753</guid><dc:creator><![CDATA[mattias]]></dc:creator><pubDate>Mon, 10 Oct 2005 11:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Mon, 10 Oct 2005 12:15:04 GMT]]></title><description><![CDATA[<p>Und wo steht der Constructor ???<br />
In Image.cpp ?<br />
dann muss die dem Projekt zugefügt sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/888776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/888776</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Mon, 10 Oct 2005 12:15:04 GMT</pubDate></item><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Mon, 10 Oct 2005 12:33:16 GMT]]></title><description><![CDATA[<p>was für einen konstruktor meinst du? in dieser dll steht folgender konstruktor. die cpp datei ist dem projekt schon hinzugefügt.</p>
<pre><code class="language-cpp">ImageManipulation::ImageManipulation()
{
	m_pImage		= NULL;
	m_pBitmapPicture	= NULL;
}

ImageManipulation::~ImageManipulation()
{
	Terminate();
}
</code></pre>
<p>aber ich bekomme ja einen fehler, dass er nicht den konstruktor für TJPEGImage linken kann, der ja eigentlich vom bcb zur verfügung gestellt werden sollte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/888804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/888804</guid><dc:creator><![CDATA[mattias]]></dc:creator><pubDate>Mon, 10 Oct 2005 12:33:16 GMT</pubDate></item><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Tue, 11 Oct 2005 19:49:37 GMT]]></title><description><![CDATA[<p>Ach den Constructor findet er nicht.</p>
<p>Da seh ich 2 Varianten<br />
1. BCB neu installieren<br />
2. Such mal nach Dateien jpeg.obj o.ä.<br />
Deren Ordner muss in den Linker Verzeichnissen eingetragen sein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890005</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:49:37 GMT</pubDate></item><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Wed, 12 Oct 2005 04:46:30 GMT]]></title><description><![CDATA[<p>Wie bei jeder Erstellung einer DLL als Kommentar steht, sollte man ANSIString in DLL's so nicht nutzen. Wie sich aus dem Text ergibt eigentlich gar nicht. Ersetzen durch char * und Aufruf mit .c_str().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890168</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Wed, 12 Oct 2005 04:46:30 GMT</pubDate></item><item><title><![CDATA[Reply to TJPEGImage: linker Fehler in DLL on Wed, 12 Oct 2005 08:26:56 GMT]]></title><description><![CDATA[<p>danke für die hilfe. ich hab nun die datei jpeg.obj und jconsts.obj einfach dem projekt hinzugefügt, da die verzeichnisse schon angegeben waren. auf jeden fall hat ers mir mal fertig compiliert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890314</guid><dc:creator><![CDATA[mattias]]></dc:creator><pubDate>Wed, 12 Oct 2005 08:26:56 GMT</pubDate></item></channel></rss>