gpt4 book ai didi

visual-studio-2013 - 为 VS2013 安装 SystemC

转载 作者:行者123 更新时间:2023-12-04 23:39:36 28 4
gpt4 key购买 nike

我正在使用带有 Visual Studio Professional 2013 的 Windows 10 64 位机器,我想安装 SystemC。我下载了 SystemC 2.3.1我尝试按照提供的“安装说明”进行操作,但它们有点过时了。

首先,它说“适用于 Windows 7 机器上的 VS 2005 及更高版本”,但我使用的是 Windows 10,但我仍然试图遵循它。二、收录srclib由于此方法在 VS2013 中已更改,因此无法按照那里的说明跟踪文件。通过 Tools->Options->Projects->VCC++ 似乎没有全局设置了方向选项卡。

现在,我能够成功构建 SystemC.sln 解决方案。但是,当我尝试构建示例项目时,出现以下错误:

LINK : fatal error LNK1104: cannot open file 'C:\Users\Andrew\Downloads\systemc-2.3.1a\systemc-2.3.1a\msvc80\SystemC\Debug.obj'



即使我认为我已经正确指定了 srclib项目属性中的目录。

谁能解释一下如何在 Windows 10 x64 上使用 VS2013 构建 SystemC?

最佳答案

更新:如果您在 Visual Studio 中使用 CMake,请检查 Setting up a SystemC project with CMake: undefined reference to `sc_core

目前我没有安装 MSVC2013,所以这里是对我有用的 MSVC2017 的步骤。

  • http://accellera.org/downloads/standards/systemc 下载最新的 SystemC
  • 在 Visual Studio 中打开 systemc-2.3.1a\msvc80\SystemC\SystemC.sln
  • Visual Studio 将提供更新解决方案,单击确定。您可以忽略带有警告的报告。
  • 在 VS 菜单栏中将配置设置为“调试”“Win32”。 (在我的情况下已经默认选择了)
  • 构建解决方案 (F7)

    在控制台中,您可能会发现以下消息:

    Unknown compiler version - please run the configure tests and report the results



    你可以忽略它们。解决方案应该没有错误地构建:

    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

  • 因此,您将在 systemc-2.3.1a\msvc80\SystemC\Debug
  • 中拥有 SystemC.lib

    现在您可以创建一些测试 SystemC 项目。
  • 文件->新建->项目->Win32控制台应用程序
  • 右键单击解决方案资源管理器中的项目 -> 属性
  • 在配置属性 -> C/C++ -> 常规 -> 附加包含目录

    添加路径到:\systemc-2.3.1a\src
  • 在配置属性 -> C/C++ -> 代码生成 -> 运行时库

    选择:多线程调试 (/MTd)
  • 在配置属性 -> C/C++ -> 语言 -> 启用运行时类型信息

    选择:是 (/GR)
  • 在配置属性 -> C/C++ -> 命令行 -> 附加选项

    类型:/vmg
  • 在配置属性 -> 链接器 -> 常规 -> 附加库目录中

    添加路径到:systemc-2.3.1a\msvc80\SystemC\Debug
  • 在配置属性 -> 链接器 -> 输入 -> 附加依赖项

    添加:SystemC.lib

  • 现在是时候输入一些代码了。例如这个“ Hello World ”:
    #include "stdafx.h"

    struct test_module : sc_module {
    SC_HAS_PROCESS(test_module);

    test_module(::sc_core::sc_module_name) {
    SC_THREAD(test_thread);
    }

    sc_signal<std::string> message{ "message" };

    void test_thread() {
    message.write("Hello world!");
    wait(1, SC_NS);
    cout << message.read() << endl;
    sc_stop();
    }
    };

    int sc_main(int argc, char** argv)
    {
    test_module tmod{ "tmod" };
    sc_start();
    return 0;
    }

    stdafx.h添加:
     #include <systemc.h>
  • 构建项目,它将失败:

    \systemc-2.3.1a\src\systemc.h(120): error C2039: 'gets': is not a member of 'std'

  • gets已从 std 中删除最新 MSVC 中的命名空间,但实际上并不是必需的。
    所以只要打开 systemc.h并注释掉第 120 行:
    //    using std::gets;
  • 如果您收到关于 sprintf 的错误信息

  • 添加 _CRT_SECURE_NO_WARNINGS到预处理器定义列表
  • 再建。无需调试即可运行 (Ctrl+F5)。您应该在控制台上看到以下介绍测试:

  •     SystemC 2.3.1-Accellera --- Feb  1 2017 14:43:06
    Copyright (c) 1996-2014 by all Contributors,
    ALL RIGHTS RESERVED

    Hello world!

    Info: /OSCI/SystemC: Simulation stopped by user.
    Press any key to continue . . .


    希望有帮助

    关于visual-studio-2013 - 为 VS2013 安装 SystemC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41990606/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com