Ошибка компоновщика компилятора 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)

Любые идеи, что я могу делать неправильно?

Спасибо


person mas    schedule 22.06.2016    source источник


Ответы (2)


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

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

person Rahul Menon    schedule 24.06.2016

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

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

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

person mas    schedule 22.06.2016