INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Bad Imports meiner DLL über den DLL Checker von NI



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

21.02.2011, 12:00 (Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2011 12:48 von Adiboing.)
Beitrag #1

Adiboing Offline
LV-Noob
*


Beiträge: 27
Registriert seit: Jun 2010

LabVIEW 2013
2010
EN


Deutschland
Bad Imports meiner DLL über den DLL Checker von NI
Hallöchen Leute,

ich bin mal soweit meine DLL auf dem RT zu testen. Zuvor klappte dies mit LabView in das ich die DLL eingebunden habe hervorragend. Nun jedoch nimmt das RT sie nicht an Sad. Ich hab jetzt mal den DLL Checker von NI benutzt um nachzuschauen was denn so abgelehnt wird.

Falls ihr den DLL Checker net kennt. Hier ist er: http://digital.ni.com/public.nsf/allkb/0...DB00015230

Jedenfalls sind meine Bad Imports wie folgt:

[BAD IMPORTS]
__clean_type_info_names_internal (__clean_type_info_names_internal)
_crt_debugger_hook (_crt_debugger_hook)
_decode_pointer (_decode_pointer)
_encode_pointer (_encode_pointer)
_encoded_null (_encoded_null)
_except_handler4_common (_except_handler4_common)
_initterm_e (_initterm_e)
_malloc_crt (_malloc_crt)
LoadLibraryW (LoadLibraryW)


Und ich kann mir leider kein Bild dazu machen was hierbei nun Falsch sein könnte. Anscheinend sind dies Funktionen von der mscvr80.dll aber mehr weiß ich leider nicht, und wenn ich nach dem Zeuch google kommt auch nix gescheides bei raus Sad

Weiß jemand Rat?
peace Adi





EDIT:
Okay mein Problem hat sich soeben gelöst. Alles was mir gefehlt hat war eine Einstellung im Visual Studio.

Dort einfach auf das Projekt im Solution Explorer mit Rechtsklick -> Properties.
Dort findet man dann bei General -> "Use of ATL" sowie "Minimize CRT use in ATL". Ersteres einstellen auf "Dynamic Link to ATL" und zweites auf "Yes".

Damit hat sich alles geklärt. Alle Bad Imports sind verschwunden. Muss das nun nochmal auf dem RT testen dann seh ich ja weiter Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.02.2011, 10:20
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Bad Imports meiner DLL über den DLL Checker von NI
(21.02.2011 12:00 )Adiboing schrieb:  Dort einfach auf das Projekt im Solution Explorer mit Rechtsklick -> Properties.
Dort findet man dann bei General -> "Use of ATL" sowie "Minimize CRT use in ATL". Ersteres einstellen auf "Dynamic Link to ATL" und zweites auf "Yes".

Damit hat sich alles geklärt. Alle Bad Imports sind verschwunden. Muss das nun nochmal auf dem RT testen dann seh ich ja weiter Wink

Das dürfte nur eine Scheinlösung sein. ATL ist eine Microsoft Extension zur C++ runtime die von anderen Compileren nicht einfach unterstützt werden kann, da sie dann durch Microsoft wegen Copyrightverletzung eingeklagt werden können.

Das RT System von NI unterstützt ATL beinahe 100% sicher nicht. Die Einstellungen die Du gemacht hast sagen Visual C nur dass es die Abhängigkeiten zu den ATL Libraries nicht dynamisch zur Ladezeit auflösen soll, sondern dynamisch wenn sie zum ersten Mal aufgerufen werden. Das kann gut gehen wenn Deine Library keinen Gebrauch von Funktionen macht die ihrerseits irgendwann auf ATL Funktionen zugreifen, aber die Chance ist eher klein. Warum sollte Deine Library diese Funktionen dann überhaupt linken wollen wenn sie doch nicht nötig sind?

Die richtige Lösung ist Deine DLL so neu zu programmieren dass sie keinen Gebrauch von ATL macht.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: