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 работал).