我正在使用带有 Visual Studio Professional 2013 的 Windows 10 64 位机器,我想安装 SystemC。我下载了 SystemC 2.3.1 并尝试按照提供的“安装说明”进行操作,但它们有点过时了。
首先,它说“适用于 Windows 7 机器上的 VS 2005 及更高版本”,但我使用的是 Windows 10,但我仍然试图遵循它。其次,由于此方法在 VS2013 中已更改,因此不能按照那里所述的方式包含 src
和 lib
文件。通过 Tools->Options->Projects->VCC++
方向选项卡似乎不再有全局设置。
现在,我能够成功构建 SystemC.sln 解决方案。但是,当我尝试构建示例项目时,出现以下错误:
即使我认为我已经在项目属性中正确指定了 src
和 lib
目录。
谁能解释一下如何在 Windows 10 x64 上使用 VS2013 构建 SystemC?
最佳答案
更新:如果您在 Visual Studio 中使用 CMake,请检查 Setting up a SystemC project with CMake: undefined reference to `sc_core
目前我没有安装 MSVC2013,所以这里是对我有用的 MSVC2017 的步骤。
在控制台中,您可能会发现以下消息:
你可以忽略它们。解决方案应该没有错误地构建:
现在您可以创建一些测试 SystemC 项目。
添加路径到:\systemc-2.3.1a\src
选择:多线程调试 (/MTd)
选择:是 (/GR)
类型:/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>
在最新的 MSVC 中,
gets
已从 std
命名空间中删除,但实际上并不是必需的。所以只需打开
systemc.h
并注释掉第 120 行:// using std::gets;
sprintf
将
_CRT_SECURE_NO_WARNINGS
添加到预处理器定义列表中希望有帮助
关于visual-studio-2013 - 为 VS2013 安装 SystemC,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41990606/