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


von Stefan H. (Firma: dm2sh) (stefan_helmert)


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?

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Stefan H. (Firma: dm2sh) (stefan_helmert)


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?
1
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.
2
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.
3
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.
4
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.
5
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.
6
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.
7
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.
8
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.
9
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.
10
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.
11
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.
12
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.
13
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.
14
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.
15
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.
16
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.
17
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.
18
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.
19
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.
20
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.
21
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.
22
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.
23
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.
24
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.
25
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.
26
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.
27
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.
28
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.
29
LIBCMTD.lib(_file.obj) : error LNK2005: __lock_file ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
30
LIBCMTD.lib(_file.obj) : error LNK2005: __unlock_file ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
31
LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
32
LIBCMTD.lib(dbgheap.obj) : error LNK2005: __free_dbg ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
33
LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
34
LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
35
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
36
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __cexit ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
37
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __amsg_exit ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
38
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __initterm_e ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
39
LIBCMTD.lib(fflush.obj) : error LNK2005: _fflush ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
40
LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
41
LIBCMTD.lib(sprintf.obj) : error LNK2005: _sprintf ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
42
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_a ist bereits in MSVCRTD.lib(cinitexe.obj) definiert.
43
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_z ist bereits in MSVCRTD.lib(cinitexe.obj) definiert.
44
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_a ist bereits in MSVCRTD.lib(cinitexe.obj) definiert.
45
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_z ist bereits in MSVCRTD.lib(cinitexe.obj) definiert.
46
LIBCMTD.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
47
LIBCMTD.lib(invarg.obj) : error LNK2005: __invalid_parameter ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
48
LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
49
LIBCMTD.lib(mlock.obj) : error LNK2005: __lock ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
50
LIBCMTD.lib(mlock.obj) : error LNK2005: __unlock ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
51
LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
52
LIBCMTD.lib(atox.obj) : error LNK2005: _atoi ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
53
LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup ist bereits in MSVCRTD.lib(crtexe.obj) definiert.
54
LIBCMTD.lib(errmode.obj) : error LNK2005: ___set_app_type ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
55
LIBCMTD.lib(dbgrptw.obj) : error LNK2005: __CrtDbgReportW ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
56
LIBCMTD.lib(printf.obj) : error LNK2005: _printf ist bereits in MSVCRTD.lib(MSVCR100D.dll) definiert.
57
LINK : warning LNK4098: Standardbibliothek "MSVCRTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
58
LINK : warning LNK4098: Standardbibliothek "LIBCMTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
59
DEBUG\SystemC.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.