Jump to content


  • Content Count

  • Joined

  • Last visited

  1. I get odd behavior when I link 2 independent DLLs that both require systemc to my program. In the first DLL are a bunch of Utility code that is used in my project along with a default sc_main (Call this Utils) In the second are user specific systemc code (call this User) Both are compiled linking to libsystemc.so In the program file which is the top frame work I link both User and Utils. First observation: Order matters. If User is imported before Utils then sc_main is not found. This makes sense since sc_main lives in Utils all wire/binding don
  2. By the way thank you for thinking about this problem. I changed line 170 in src/sysc/kernel/sc_cmnhdr.h to set the define as you list above. compared to the build of the systemc DLL without the change there are a lot of warnings that this particular compiler directive is ignored. If that is the only changes you were suggesting then it made no difference. I still see that systemc does not see the port binding.
  3. exporting all my classes of course goes against why you might use the -fvisibility=hidden flag so I'm not sure what the intention would be to use it once you export the world. Here is my example source code. I tried it with/without the counter class having visibility set to default. It fails either way. Compile these with -fvisibility=hidden and the code fails to elaborate. Remove the flag and you get the output: SystemC 2.3.2-Accellera --- Apr 28 2019 15:26:09 Copyright (c) 1996-2017 by all Contributors, ALL RIGHTS RESERVED reset active:cou
  4. I've compiled my C++14 systemc 2.3.2 library and when I compile my model code with --visibility=hidden the code will not properly elaborate. The only apparent requirement is that sc_main have default visibility, for example: int __attribute__ ((visibility ("default"))) sc_main(int argc, char* argv[]) { ... your code here ... } You can use any simple module (eg simple counter sc_module) to show that by not using the -fvisibility=hidden flag the code works fine. when compiled with that flag I get the following error: terminating with uncaught exception of
  • Create New...