<?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[C als Interface für ander Programmiersprache -&amp;gt; Linkerproblem bei DLL-Aufrufen]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Problem:</p>
<p>Ich habe eine DLL die nur mit C kompatible ist (da in der verwendeten Sprache Datentypen wie pointer, long, etc. nicht verfügbar sind).<br />
Allerdings gibt es dort eine C-API, mit deren Hilfe man auf C-Code zugreifen kann.</p>
<p>Aus beiden Programmstücken werden dann Objektdateien erstellt. Diese müssten dann gelinkt werden.<br />
Gelinkt wird mit dem C-Compiler (VC++6).</p>
<p>Im C-Programm öffne und behandle ich die DLL mit FreeLibrary(), GetProcAdress(), LoadLibraray()</p>
<p>Wenn ich das reine C-Programm compiliere und linke funktioniert alles wie gewünscht.<br />
(Linker: link /out:CAPI.exe C_API.obj<br />
Compilerbatch: cl /c /MD /I D:\read\include\ &quot;%1&quot; )</p>
<p>Füge ich jetzt das Programm aus der anderen Sprache beim linken hinzu (Linkoptionen : link /out:test.exe /Entry:_xppStartup /SUBSYSTEM:CONSOLE C_API.obj Xbase.obj Xpprt0.lib )<br />
werden auf einmal die die Funktionen FreeLibrary(), GetProcAdress(), LoadLibraray() nicht mehr gefunden.</p>
<p>Fehlermeldung:</p>
<p>C_API.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__FreeLibrary@4<br />
C_API.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__GetProcAddress@8<br />
C_API.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__LoadLibraryA@4<br />
MSVCRT.lib(bsku.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__GetUserDefaultLangID@0<br />
test.exe : fatal error LNK1120: 4 unaufgeloeste externe Verweise</p>
<p>Muss ich vielleicht noch eine lib beim linken angeben? Ich hoffe es kann jemand helfen...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/104689/c-als-interface-für-ander-programmiersprache-gt-linkerproblem-bei-dll-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 02:38:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/104689.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Mar 2005 14:13:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C als Interface für ander Programmiersprache -&amp;gt; Linkerproblem bei DLL-Aufrufen on Tue, 22 Mar 2005 14:13:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Problem:</p>
<p>Ich habe eine DLL die nur mit C kompatible ist (da in der verwendeten Sprache Datentypen wie pointer, long, etc. nicht verfügbar sind).<br />
Allerdings gibt es dort eine C-API, mit deren Hilfe man auf C-Code zugreifen kann.</p>
<p>Aus beiden Programmstücken werden dann Objektdateien erstellt. Diese müssten dann gelinkt werden.<br />
Gelinkt wird mit dem C-Compiler (VC++6).</p>
<p>Im C-Programm öffne und behandle ich die DLL mit FreeLibrary(), GetProcAdress(), LoadLibraray()</p>
<p>Wenn ich das reine C-Programm compiliere und linke funktioniert alles wie gewünscht.<br />
(Linker: link /out:CAPI.exe C_API.obj<br />
Compilerbatch: cl /c /MD /I D:\read\include\ &quot;%1&quot; )</p>
<p>Füge ich jetzt das Programm aus der anderen Sprache beim linken hinzu (Linkoptionen : link /out:test.exe /Entry:_xppStartup /SUBSYSTEM:CONSOLE C_API.obj Xbase.obj Xpprt0.lib )<br />
werden auf einmal die die Funktionen FreeLibrary(), GetProcAdress(), LoadLibraray() nicht mehr gefunden.</p>
<p>Fehlermeldung:</p>
<p>C_API.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__FreeLibrary@4<br />
C_API.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__GetProcAddress@8<br />
C_API.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__LoadLibraryA@4<br />
MSVCRT.lib(bsku.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__GetUserDefaultLangID@0<br />
test.exe : fatal error LNK1120: 4 unaufgeloeste externe Verweise</p>
<p>Muss ich vielleicht noch eine lib beim linken angeben? Ich hoffe es kann jemand helfen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/750317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/750317</guid><dc:creator><![CDATA[robert.S]]></dc:creator><pubDate>Tue, 22 Mar 2005 14:13:40 GMT</pubDate></item><item><title><![CDATA[Reply to C als Interface für ander Programmiersprache -&amp;gt; Linkerproblem bei DLL-Aufrufen on Tue, 22 Mar 2005 19:18:18 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=547" rel="nofollow">Shade Of Mine</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=10" rel="nofollow">ANSI C</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/750653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/750653</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 22 Mar 2005 19:18:18 GMT</pubDate></item></channel></rss>