mikrocontroller.net

Forum: PC Hard- und Software SystemC installieren, Vorlage f. Visual C++


Autor: Stefan Helmert (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe es geschafft SystemC zu installieren und zu kompilieren. Ich 
kann auch die examples, die dazu sind in Visual C++ 2010 überführen und 
kompilieren.

Wenn ich ein eigenes Projekt machen will, dann sind aber alle 
Projekteigenschaften wieder weg. Leider kann ich keine Vorlage speichern 
oder Projekteigenschaften exportieren/importieren.

Ich will aber einfach auswählen können "SystemC-Projekt" erstellen und 
dann sind alle nötigen Einstellungen da. Wie muss ich das einreichten? 
Gibt es gleich was fertiges? Warum liefern die SystemC-Entwickler nicht 
gleich einen Installer mit, nach dessen Ausführung alle Einstellungen 
erledigt sind?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Helmert schrieb:
> Leider kann ich keine Vorlage speichern
> oder Projekteigenschaften exportieren/importieren.

Du könntest eines der funktionierenden Projekte woanders hinkopieren und 
als Grundlage für eigenes nutzen.

Ansonsten könntest Du Dir auch einfach notieren, welche Einstellungen 
nötig sind, um "from scratch" so ein Projekt zu konfigurieren.

So arbeiten die meisten Leute, die sich nicht auf irgendwelche Wizards 
verlassen wollen.

> Warum liefern die SystemC-Entwickler nicht gleich einen
> Installer mit, nach dessen Ausführung alle Einstellungen
> erledigt sind?

Frag sie doch einfach. Eine sehr wahrscheinliche Erklärung könnte die 
sein, daß das Zeug für alle möglichen Compiler verwendbar sein soll, und 
daß die Integration in irgendwelche Projekt-Wizards als nicht sehr 
wichtig angesehen wird.

Autor: Stefan Helmert (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du könntest eines der funktionierenden Projekte woanders hinkopieren und
>als Grundlage für eigenes nutzen.

Das habe ich gerade gemacht und es hat scheinbar tatsächlich 
funktioniert.

>Ansonsten könntest Du Dir auch einfach notieren, welche Einstellungen
>nötig sind, um "from scratch" so ein Projekt zu konfigurieren.

Das habe ich auch probiert, hat nicht funktioniert. Da sind wohl noch 
irgendwelche Abhängigkeiten drin, die ich trotz vergleichen nicht 
gesehen habe.


Wo liegt der Grund für die folgende Meldung?
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)" (?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QAEXXZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __int64 __thiscall std::ios_base::width(__int64)" (?width@ios_base@std@@QAE_J_J@Z) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __int64 __thiscall std::ios_base::width(void)const " (?width@ios_base@std@@QBE_JXZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE_JPBD_J@Z) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: struct std::_Iterator_base12 * * __thiscall std::_Container_base12::_Getpfirst(void)const " (?_Getpfirst@_Container_base12@std@@QBEPAPAU_Iterator_base12@2@XZ) ist bereits in SystemC.lib(sc_simcontext.obj) definiert.
msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) ist bereits in SystemC.lib(sc_report_handler.obj) definiert.
libcpmtd.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) ist bereits in msvcprtd.lib(MSVCP100D.dll) definiert.
libcpmtd.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) ist bereits in msvcprtd.lib(MSVCP100D.dll) definiert.
libcpmtd.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::_Facet_Register(class std::locale::facet *)" (?_Facet_Register@facet@locale@std@@CAXPAV123@@Z) ist bereits in msvcprtd.lib(locale0_implib.obj) definiert.
libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) ist bereits in msvcprtd.lib(MSVCP100D.dll) definiert.
libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) ist bereits in msvcprtd.lib(MSVCP100D.dll) definiert.
libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z) ist bereits in msvcprtd.lib(MSVCP100D.dll) definiert.
libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) ist bereits in msvcprtd.lib(MSVCP100D.dll) definiert.
libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) ist bereits in msvcprtd.lib(MSVCP100D.dll) definiert.
libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) ist bereits in msvcprtd.lib(MSVCP100D.dll) definiert.
LIBCMTD.lib(_file.obj) : error LNK2005: __lock_file ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(_file.obj) : error LNK2005: __unlock_file ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(dbgheap.obj) : error LNK2005: __free_dbg ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __cexit ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __amsg_exit ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __initterm_e ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(fflush.obj) : error LNK2005: _fflush ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(sprintf.obj) : error LNK2005: _sprintf ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_a ist bereits in MSVCRTD.lib(cinitexe.obj) definiert.
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_z ist bereits in MSVCRTD.lib(cinitexe.obj) definiert.
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_a ist bereits in MSVCRTD.lib(cinitexe.obj) definiert.
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_z ist bereits in MSVCRTD.lib(cinitexe.obj) definiert.
LIBCMTD.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(invarg.obj) : error LNK2005: __invalid_parameter ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(mlock.obj) : error LNK2005: __lock ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(mlock.obj) : error LNK2005: __unlock ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(atox.obj) : error LNK2005: _atoi ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup ist bereits in MSVCRTD.lib(crtexe.obj) definiert.
LIBCMTD.lib(errmode.obj) : error LNK2005: ___set_app_type ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(dbgrptw.obj) : error LNK2005: __CrtDbgReportW ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LIBCMTD.lib(printf.obj) : error LNK2005: _printf ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
LINK : warning LNK4098: Standardbibliothek "MSVCRTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
LINK : warning LNK4098: Standardbibliothek "LIBCMTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
DEBUG\SystemC.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mischst Code, der mit unterschiedlichen Compilereinstellungen 
übersetzt wurde, hier vermutlich Single- und Multithreaded, bzw. DLL- 
und Nicht-DLL-Varianten. Eingestellt hast Du vermutlich statisch gelinkt 
Multithread-Debug.

Autor: Stefan Helmert (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Einstellung scheint aber bei den beigefügten examples gleich zu sein 
und da geht es.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.