UVM-SystemC Ошибка компилятора Mac

Я пытаюсь вручную скомпилировать некоторые примеры UVM, используя clang++. UVM-SystemC-1.0 была успешно установлена ​​(эти примеры, по-видимому, также запускались в качестве тестов). Однако, когда я компилирую эти примеры, используя команду

clang++ -I/Users/ahmadmas/Downloads/systemc-2.3.1/include -I/Users/ahmadmas/Downloads/uvm-systemc-1.0-alpha1/include -L/Users/ahmadmas/Downloads/systemc-2.3.1/lib-macosx64 -lsystemc -L/Users/ahmadmas/Downloads/uvm-systemc-1.0-alpha1/lib-macosx64 -uvm hello_world.cpp

Я получаю следующую ошибку:

(Huge amount of text)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Есть идеи, что я могу делать не так?

Спасибо

2 ответа

Это просто комментарий, так как у меня нет разрешения на добавление комментариев:(добавив его как ответ

-l связывает файл библиотеки - lib. из путей, указанных в опции -L. Файл lib для uvm в lib-macosx64 - это libuvm-systemc.dylib => опция компоновщика будет -luvm-systemc

На самом деле я решил проблему сам.

Все в приведенной выше команде компиляции является правильным, за исключением компоновщика.

В systemC флаг компоновщика -lsystemc, что соответствует увм, имеющих -luvm или же -uvm, Тем не менее, это -luvm-systemc (что создает недоразумение, так как нужно дважды связать systemc, чтобы uvm работал).

Другие вопросы по тегам