我一直试图在Windows 10 bash下编译一个简单的System C可执行文件但没有成功,经过一些搜索后,我发现了这个链接: http://topazus-dev.blogspot.com/2016/06/systemc-on-windows-using-bash-on-windows.html 解释动态链接在Windows 10 bash下无法正常工作,因此解决方法是使用静态链接,我尝试编译以下示例程序:
#include <systemc.h>
#include <iostream>
int sc_main(int argc, char** argv)
{
std::cout << "Hi\n";
return 0;
}
程序本身并不重要,重点是能够编译它,我使用的命令是:
g++ -Wall -g -I/mnt/c/home/systemc-2.3.2/include -c -o main.o main.cpp
g++ main.o -L /mnt/c/home/systemc-2.3.2/lib-linux64 -Wl, -Bstatic -lsystemc -Wl, -Bdynamic -pthread -o main
但是该过程失败并出现以下错误:
/ usr / bin / ld:找不到:没有这样的文件或目录/ usr / bin / ld: 找不到:没有这样的文件或目录collect2:错误:ld返回1 退出状态
我已经使用除了System C之外的其他库编译了程序,它们按预期工作,我也尝试直接使用与.so相同的文件夹中的.a版本的System C进行编译,这在链接过程中引起了很多未定义的引用,所以它也不会那样工作。
提前致谢。