Я пытался скомпилировать простой исполняемый файл System C под Windows 10 bash безуспешно, после некоторого поиска я нашел эту ссылку: 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: не удается найти: такого файла или каталога не существует2: ошибка: ld вернул 1 состояние выхода
Я скомпилировал программы с другими библиотеками, кроме System C, они работают как положено, я также попытался скомпилировать напрямую с версией .a System C, которая находится в той же папке, что и .so, это вызвало у тебя многонеопределенные ссылки в процессе связывания, поэтому он тоже не работает.
Заранее спасибо.