Скомпилируйте и используйте System C под Windows 10 Ubuntu Bash - PullRequest
0 голосов
/ 07 июня 2018

Я пытался скомпилировать простой исполняемый файл 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, это вызвало у тебя многонеопределенные ссылки в процессе связывания, поэтому он тоже не работает.

Заранее спасибо.

...