Jump to content

Install System-AMS in Visual C++ 2008


Recommended Posts

 Hello everyone,

I`m new in SystemC-AMS. I have met a problem with the building of systemc_ams.lib. Here is my software environment

Software: Visual C++ 2008 Express Edition of Windows 10

SystemC.lib: systemC 2.3.0 vision downloading from http://www.coseda-tech.com/systemc-ams-proof-of-concept has already been set up.Output "hello world" in youtube example "SystemC installation at Visual studio 2010" runs correctly on my computer.

 

SystemC_ams: systemc-ams-2.1 version downloading from COSEDA http://www.coseda-tech.com/systemc-ams-proof-of-concept. I have corrected the additional include directory and additional library directory in systemc_ams.vcproj

and after press F7 I meet this problem:

...

1>sca_synchronization_alg.cpp
1>sca_synchronization_layer.cpp
1>Generating Code...
1>Compiling...
1>sca_synchronization_layer_process.cpp
1>e:\program files (x86)\microsoft visual studio 9.0\systemc-ams-2.1\src\scams\impl\synchronization\sca_synchronization_layer_process.cpp(216) : error C2440: 'initializing' : cannot convert from 'sc_core::sc_event_or_expr *' to 'sc_core::sc_event_or_list *'
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>e:\program files (x86)\microsoft visual studio 9.0\systemc-ams-2.1\src\scams\impl\synchronization\sca_synchronization_layer_process.cpp(218) : error C2440: '=' : cannot convert from 'sc_core::sc_event_expr<T> *' to 'sc_core::sc_event_or_list *'
1>        with
1>        [
1>            T=sc_core::sc_event_or_list
1>        ]
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>e:\program files (x86)\microsoft visual studio 9.0\systemc-ams-2.1\src\scams\impl\synchronization\sca_synchronization_layer_process.cpp(221) : error C2440: '=' : cannot convert from 'sc_core::sc_event_expr<T> *' to 'sc_core::sc_event_or_list *'
1>        with
1>        [
1>            T=sc_core::sc_event_or_list
1>        ]
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>e:\program files (x86)\microsoft visual studio 9.0\systemc-ams-2.1\src\scams\impl\synchronization\sca_synchronization_layer_process.cpp(385) : error C2440: 'initializing' : cannot convert from 'sc_core::sc_event_or_expr *' to 'sc_core::sc_event_or_list *'
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>e:\program files (x86)\microsoft visual studio 9.0\systemc-ams-2.1\src\scams\impl\synchronization\sca_synchronization_layer_process.cpp(387) : error C2440: '=' : cannot convert from 'sc_core::sc_event_expr<T> *' to 'sc_core::sc_event_or_list *'
1>        with
1>        [
1>            T=sc_core::sc_event_or_list
1>        ]
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>e:\program files (x86)\microsoft visual studio 9.0\systemc-ams-2.1\src\scams\impl\synchronization\sca_synchronization_layer_process.cpp(390) : error C2440: '=' : cannot convert from 'sc_core::sc_event_expr<T> *' to 'sc_core::sc_event_or_list *'
1>        with
1>        [
1>            T=sc_core::sc_event_or_list
1>        ]
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>e:\program files (x86)\microsoft visual studio 9.0\systemc-ams-2.1\src\scams\impl\synchronization\sca_synchronization_layer_process.cpp(393) : error C2100: illegal indirection
1>e:\program files (x86)\microsoft visual studio 9.0\systemc-ams-2.1\src\scams\impl\synchronization\sca_synchronization_layer_process.cpp(393) : error C2678: binary '|' : no operator found which takes a left-hand operand of type 'sc_core::sc_event_or_list' (or there is no acceptable conversion)
1>        e:\program files (x86)\microsoft visual studio 9.0\systemc-2.3.0\src\sysc\kernel\sc_event.h(683): could be 'sc_core::sc_event_or_expr sc_core::operator |(sc_core::sc_event_or_expr,const sc_core::sc_event &)' [found using argument-dependent lookup]
1>        e:\program files (x86)\microsoft visual studio 9.0\systemc-2.3.0\src\sysc\kernel\sc_event.h(691): or       'sc_core::sc_event_or_expr sc_core::operator |(sc_core::sc_event_or_expr,const sc_core::sc_event_or_list &)' [found using argument-dependent lookup]
1>        e:\program files (x86)\microsoft visual studio 9.0\systemc-2.3.0\src\sysc\kernel\sc_event.h(237): or       'sc_core::sc_event_expr<T> sc_core::sc_event_or_list::operator |(const sc_core::sc_event &) const'
1>        with
1>        [
1>            T=sc_core::sc_event_or_list
1>        ]
1>        e:\program files (x86)\microsoft visual studio 9.0\systemc-2.3.0\src\sysc\kernel\sc_event.h(238): or       'sc_core::sc_event_expr<T> sc_core::sc_event_or_list::operator |(const sc_core::sc_event_or_list &) const'
1>        with
1>        [
1>            T=sc_core::sc_event_or_list
1>        ]
1>        while trying to match the argument list '(sc_core::sc_event_or_list, sca_core::sca_implementation::event_and_list2ev *)'
1>sca_tabular_trace.cpp
1>sca_tabular_trace_file.cpp

...

The compete Output in Visual studio has been set as attach named error.txt.

Do you have any ideas about my problems? Thanks in advance.

 

Kaiwen

error.txt

Link to comment
Share on other sites

Even though the INSTALL instructions for the SystemC AMS PoC mentions only Visual C++ 8.0/9.0 as well as SystemC 2.2, I would recommend you that you to try to build against the most recent release of SystemC 2.3.2 using either Visual Studio 2015 or 2013. Recent Visual Studio versions should still be able to open and convert the old provided solution files. Compared to SystemC 2.3.0, SystemC 2.3.2 fixed many errors, among them an issue with the sc_event_or_list type mentioned in your error log. Recent Visual Studio version are much more conformant to the ISO/IEC C++ standard.

As I am using mostly the GNU and Clang toolchains on non-Windows platforms, I cannot help you further at the moment.

Link to comment
Share on other sites

Hallo Maehne,

Thank you for the reply, thank helps me a lot. I have tried many times and I can now run system_ams 2.1 and systemC 2.3.2 successfully both in visual studio 2015 and visual studio 2017. One important thing in my case is that, the Runtime Library must be chosen as "Multi-threaded Debug DLL (/MDd) "in the property setting(Project->Property->c/c++->Code Generation->Runtime Library), when the systemc.lib is generated. 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...